<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.7"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>FFmpegKit iOS / macOS / tvOS API: fftools_ffmpeg_mux_init.c Source File</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectlogo"><img alt="Logo" src="../../ffmpeg-kit-icon-v9-small.png"/></td>
  <td id="projectalign">
   <div id="projectname">FFmpegKit iOS / macOS / tvOS API<span id="projectnumber">&#160;6.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.7 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('../../',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div class="header">
  <div class="headertitle"><div class="title">fftools_ffmpeg_mux_init.c</div></div>
</div><!--header-->
<div class="contents">
<a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno">    1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno">    2</span><span class="comment"> * Muxer/output file setup.</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno">    3</span><span class="comment"> * Copyright (c) 2023 ARTHENICA LTD</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno">    4</span><span class="comment"> *</span></div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno">    5</span><span class="comment"> * This file is part of FFmpeg.</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno">    6</span><span class="comment"> *</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno">    7</span><span class="comment"> * FFmpeg is free software; you can redistribute it and/or</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno">    8</span><span class="comment"> * modify it under the terms of the GNU Lesser General Public</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno">    9</span><span class="comment"> * License as published by the Free Software Foundation; either</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno">   10</span><span class="comment"> * version 2.1 of the License, or (at your option) any later version.</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno">   11</span><span class="comment"> *</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno">   12</span><span class="comment"> * FFmpeg is distributed in the hope that it will be useful,</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno">   13</span><span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno">   14</span><span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno">   15</span><span class="comment"> * Lesser General Public License for more details.</span></div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno">   16</span><span class="comment"> *</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno">   17</span><span class="comment"> * You should have received a copy of the GNU Lesser General Public</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno">   18</span><span class="comment"> * License along with FFmpeg; if not, write to the Free Software</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno">   19</span><span class="comment"> * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno">   20</span><span class="comment"> */</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno">   21</span> </div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno">   22</span><span class="comment">/*</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno">   23</span><span class="comment"> * This file is the modified version of ffmpeg_mux_init.c file living in ffmpeg source code under the fftools folder. We</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno">   24</span><span class="comment"> * manually update it each time we depend on a new ffmpeg version. Below you can see the list of changes applied</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno">   25</span><span class="comment"> * by us to develop ffmpeg-kit library.</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno">   26</span><span class="comment"> *</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno">   27</span><span class="comment"> * ffmpeg-kit changes by ARTHENICA LTD</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno">   28</span><span class="comment"> *</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno">   29</span><span class="comment"> * 07.2023</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno">   30</span><span class="comment"> * --------------------------------------------------------</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno">   31</span><span class="comment"> * - FFmpeg 6.0 changes migrated</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno">   32</span><span class="comment"> * - fftools header names updated</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno">   33</span><span class="comment"> * - EncStatsFile declaration migrated to ffmpeg_mux.h</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno">   34</span><span class="comment"> * - extern ms_from_ost added</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno">   35</span><span class="comment"> * - &quot;class&quot; member field renamed as clazz</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno">   36</span><span class="comment"> */</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno">   37</span> </div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno">   38</span><span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno">   39</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno">   40</span><span class="preprocessor">#include &quot;<a class="code" href="../../d8/d4e/fftools__cmdutils_8h.html">fftools_cmdutils.h</a>&quot;</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno">   41</span><span class="preprocessor">#include &quot;<a class="code" href="../../d7/db3/fftools__ffmpeg_8h.html">fftools_ffmpeg.h</a>&quot;</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno">   42</span><span class="preprocessor">#include &quot;<a class="code" href="../../df/d2b/fftools__ffmpeg__mux_8h.html">fftools_ffmpeg_mux.h</a>&quot;</span></div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno">   43</span><span class="preprocessor">#include &quot;<a class="code" href="../../d1/d9f/fftools__fopen__utf8_8h.html">fftools_fopen_utf8.h</a>&quot;</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno">   44</span> </div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno">   45</span><span class="preprocessor">#include &quot;libavformat/avformat.h&quot;</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno">   46</span><span class="preprocessor">#include &quot;libavformat/avio.h&quot;</span></div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno">   47</span> </div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno">   48</span><span class="preprocessor">#include &quot;libavcodec/avcodec.h&quot;</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno">   49</span> </div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno">   50</span><span class="preprocessor">#include &quot;libavfilter/avfilter.h&quot;</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno">   51</span> </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno">   52</span><span class="preprocessor">#include &quot;libavutil/avassert.h&quot;</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno">   53</span><span class="preprocessor">#include &quot;libavutil/avstring.h&quot;</span></div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno">   54</span><span class="preprocessor">#include &quot;libavutil/avutil.h&quot;</span></div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno">   55</span><span class="preprocessor">#include &quot;libavutil/bprint.h&quot;</span></div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno">   56</span><span class="preprocessor">#include &quot;libavutil/dict.h&quot;</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno">   57</span><span class="preprocessor">#include &quot;libavutil/getenv_utf8.h&quot;</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno">   58</span><span class="preprocessor">#include &quot;libavutil/intreadwrite.h&quot;</span></div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno">   59</span><span class="preprocessor">#include &quot;libavutil/log.h&quot;</span></div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno">   60</span><span class="preprocessor">#include &quot;libavutil/mem.h&quot;</span></div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno">   61</span><span class="preprocessor">#include &quot;libavutil/opt.h&quot;</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno">   62</span><span class="preprocessor">#include &quot;libavutil/parseutils.h&quot;</span></div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno">   63</span><span class="preprocessor">#include &quot;libavutil/pixdesc.h&quot;</span></div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno">   64</span> </div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a4dd32a1942a804edb22f2e016406db41">   65</a></span><span class="preprocessor">#define DEFAULT_PASS_LOGFILENAME_PREFIX &quot;ffmpeg2pass&quot;</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno">   66</span> </div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a4563efb367e0659a32b5b0ad0ac4578d">   67</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a4563efb367e0659a32b5b0ad0ac4578d">opt_name_apad</a>[]                      = {<span class="stringliteral">&quot;apad&quot;</span>, NULL};</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae377a2eca138e9ca6f7f70bd7a745c95">   68</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae377a2eca138e9ca6f7f70bd7a745c95">opt_name_autoscale</a>[]                 = {<span class="stringliteral">&quot;autoscale&quot;</span>, NULL};</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aec516ffec0e2ccd98735fd021f6fcdd3">   69</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aec516ffec0e2ccd98735fd021f6fcdd3">opt_name_bits_per_raw_sample</a>[]       = {<span class="stringliteral">&quot;bits_per_raw_sample&quot;</span>, NULL};</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#acbbcf4d3fc3ffdf3ab8fb140380e9b3d">   70</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#acbbcf4d3fc3ffdf3ab8fb140380e9b3d">opt_name_bitstream_filters</a>[]         = {<span class="stringliteral">&quot;bsf&quot;</span>, <span class="stringliteral">&quot;absf&quot;</span>, <span class="stringliteral">&quot;vbsf&quot;</span>, NULL};</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ac7ca319e595fa817051314772b70fe19">   71</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ac7ca319e595fa817051314772b70fe19">opt_name_copy_initial_nonkeyframes</a>[] = {<span class="stringliteral">&quot;copyinkf&quot;</span>, NULL};</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a484aa69c151bca853b0f4db4001d8457">   72</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a484aa69c151bca853b0f4db4001d8457">opt_name_copy_prior_start</a>[]          = {<span class="stringliteral">&quot;copypriorss&quot;</span>, NULL};</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aedf58dd37d56e26a71b477ac1c89fceb">   73</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aedf58dd37d56e26a71b477ac1c89fceb">opt_name_disposition</a>[]               = {<span class="stringliteral">&quot;disposition&quot;</span>, NULL};</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a923d5e1d86ce330625dd7d55d4e0b7cd">   74</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a923d5e1d86ce330625dd7d55d4e0b7cd">opt_name_enc_time_bases</a>[]            = {<span class="stringliteral">&quot;enc_time_base&quot;</span>, NULL};</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a1bd977141b064953df829bab225012aa">   75</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a1bd977141b064953df829bab225012aa">opt_name_enc_stats_pre</a>[]             = {<span class="stringliteral">&quot;enc_stats_pre&quot;</span>, NULL};</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a33c5320e3d802461bcb783e9bddd0586">   76</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a33c5320e3d802461bcb783e9bddd0586">opt_name_enc_stats_post</a>[]            = {<span class="stringliteral">&quot;enc_stats_post&quot;</span>, NULL};</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aeb049cfefacefdcb5bf2ee81ba0fe21e">   77</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aeb049cfefacefdcb5bf2ee81ba0fe21e">opt_name_mux_stats</a>[]                 = {<span class="stringliteral">&quot;mux_stats&quot;</span>, NULL};</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae9f2acb7199aa3efc90bd05dd2944be3">   78</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae9f2acb7199aa3efc90bd05dd2944be3">opt_name_enc_stats_pre_fmt</a>[]         = {<span class="stringliteral">&quot;enc_stats_pre_fmt&quot;</span>, NULL};</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a86b98d556f5e524736ff8a80c61db2dc">   79</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a86b98d556f5e524736ff8a80c61db2dc">opt_name_enc_stats_post_fmt</a>[]        = {<span class="stringliteral">&quot;enc_stats_post_fmt&quot;</span>, NULL};</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adb543330fc9772059ff2dd3be720263c">   80</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adb543330fc9772059ff2dd3be720263c">opt_name_mux_stats_fmt</a>[]             = {<span class="stringliteral">&quot;mux_stats_fmt&quot;</span>, NULL};</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ac60615242d760b1373faa97e9ca35da0">   81</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ac60615242d760b1373faa97e9ca35da0">opt_name_filters</a>[]                   = {<span class="stringliteral">&quot;filter&quot;</span>, <span class="stringliteral">&quot;af&quot;</span>, <span class="stringliteral">&quot;vf&quot;</span>, NULL};</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8d9d6b274d5ebbf27d245081b2d68aea">   82</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8d9d6b274d5ebbf27d245081b2d68aea">opt_name_filter_scripts</a>[]            = {<span class="stringliteral">&quot;filter_script&quot;</span>, NULL};</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9f86317b8a965ea087d82b8116fcc6e5">   83</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9f86317b8a965ea087d82b8116fcc6e5">opt_name_fix_sub_duration_heartbeat</a>[] = {<span class="stringliteral">&quot;fix_sub_duration_heartbeat&quot;</span>, NULL};</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ac8935bd6fded3399aac4503f1cd2b74c">   84</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ac8935bd6fded3399aac4503f1cd2b74c">opt_name_fps_mode</a>[]                  = {<span class="stringliteral">&quot;fps_mode&quot;</span>, NULL};</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a35587cfd54cad4d313e805729850c814">   85</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a35587cfd54cad4d313e805729850c814">opt_name_force_fps</a>[]                 = {<span class="stringliteral">&quot;force_fps&quot;</span>, NULL};</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a7dc51392d39a130d795ab6259f8e5146">   86</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a7dc51392d39a130d795ab6259f8e5146">opt_name_forced_key_frames</a>[]         = {<span class="stringliteral">&quot;forced_key_frames&quot;</span>, NULL};</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a02e251fca80f93e4d5a3e9c27fca6be8">   87</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a02e251fca80f93e4d5a3e9c27fca6be8">opt_name_frame_aspect_ratios</a>[]       = {<span class="stringliteral">&quot;aspect&quot;</span>, NULL};</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#acb26d364405e283095a6d192d1caeaee">   88</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#acb26d364405e283095a6d192d1caeaee">opt_name_intra_matrices</a>[]            = {<span class="stringliteral">&quot;intra_matrix&quot;</span>, NULL};</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a290d82d6941e8243459bc374ef322e81">   89</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a290d82d6941e8243459bc374ef322e81">opt_name_inter_matrices</a>[]            = {<span class="stringliteral">&quot;inter_matrix&quot;</span>, NULL};</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ac228692b5caafb601b626e82fb036b00">   90</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ac228692b5caafb601b626e82fb036b00">opt_name_chroma_intra_matrices</a>[]     = {<span class="stringliteral">&quot;chroma_intra_matrix&quot;</span>, NULL};</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a55b73904843c6c623ce52acba119705c">   91</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a55b73904843c6c623ce52acba119705c">opt_name_max_frame_rates</a>[]           = {<span class="stringliteral">&quot;fpsmax&quot;</span>, NULL};</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a065c1d7227bc63b18b4324ad376568dd">   92</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a065c1d7227bc63b18b4324ad376568dd">opt_name_max_frames</a>[]                = {<span class="stringliteral">&quot;frames&quot;</span>, <span class="stringliteral">&quot;aframes&quot;</span>, <span class="stringliteral">&quot;vframes&quot;</span>, <span class="stringliteral">&quot;dframes&quot;</span>, NULL};</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3f6ae3233facfaaad9c9fcfcb5562029">   93</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3f6ae3233facfaaad9c9fcfcb5562029">opt_name_max_muxing_queue_size</a>[]     = {<span class="stringliteral">&quot;max_muxing_queue_size&quot;</span>, NULL};</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a44d8dc72efc9d1c7433964650d7b4365">   94</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a44d8dc72efc9d1c7433964650d7b4365">opt_name_muxing_queue_data_threshold</a>[] = {<span class="stringliteral">&quot;muxing_queue_data_threshold&quot;</span>, NULL};</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#af982effd9489a2439594fba709c01cf4">   95</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#af982effd9489a2439594fba709c01cf4">opt_name_pass</a>[]                      = {<span class="stringliteral">&quot;pass&quot;</span>, NULL};</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3bb1a02e27b951f57d8927aa3b017f2e">   96</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3bb1a02e27b951f57d8927aa3b017f2e">opt_name_passlogfiles</a>[]              = {<span class="stringliteral">&quot;passlogfile&quot;</span>, NULL};</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a4929557da5993e7e352caa7b2b969569">   97</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a4929557da5993e7e352caa7b2b969569">opt_name_presets</a>[]                   = {<span class="stringliteral">&quot;pre&quot;</span>, <span class="stringliteral">&quot;apre&quot;</span>, <span class="stringliteral">&quot;vpre&quot;</span>, <span class="stringliteral">&quot;spre&quot;</span>, NULL};</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ad4e5c141bf83207d19eecec3a9341141">   98</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ad4e5c141bf83207d19eecec3a9341141">opt_name_qscale</a>[]                    = {<span class="stringliteral">&quot;q&quot;</span>, <span class="stringliteral">&quot;qscale&quot;</span>, NULL};</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a7dbb7cc7c7d0f45bbb80b2e494b0bbff">   99</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a7dbb7cc7c7d0f45bbb80b2e494b0bbff">opt_name_rc_overrides</a>[]              = {<span class="stringliteral">&quot;rc_override&quot;</span>, NULL};</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8213a5f67f3b7e411fafc95d38ad0ea7">  100</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8213a5f67f3b7e411fafc95d38ad0ea7">opt_name_time_bases</a>[]                = {<span class="stringliteral">&quot;time_base&quot;</span>, NULL};</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a071566f5d650660c1121c4a9ecffeaad">  101</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a071566f5d650660c1121c4a9ecffeaad">opt_name_audio_channels</a>[]            = {<span class="stringliteral">&quot;ac&quot;</span>, NULL};</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a27b60fe4155fff0ad90e817ba2c679bf">  102</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a27b60fe4155fff0ad90e817ba2c679bf">opt_name_audio_ch_layouts</a>[]          = {<span class="stringliteral">&quot;channel_layout&quot;</span>, <span class="stringliteral">&quot;ch_layout&quot;</span>, NULL};</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8a7b7a8fd4c39cfd95d0577ba6516f80">  103</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8a7b7a8fd4c39cfd95d0577ba6516f80">opt_name_audio_sample_rate</a>[]         = {<span class="stringliteral">&quot;ar&quot;</span>, NULL};</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a86f38ed6c04b24cdcd998881f6d45563">  104</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a86f38ed6c04b24cdcd998881f6d45563">opt_name_frame_sizes</a>[]               = {<span class="stringliteral">&quot;s&quot;</span>, NULL};</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#af4c1703b4956f5e062204d5c36b1721f">  105</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#af4c1703b4956f5e062204d5c36b1721f">opt_name_frame_pix_fmts</a>[]            = {<span class="stringliteral">&quot;pix_fmt&quot;</span>, NULL};</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a322afb1b7613bc57d3939db06de66225">  106</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a322afb1b7613bc57d3939db06de66225">opt_name_sample_fmts</a>[]               = {<span class="stringliteral">&quot;sample_fmt&quot;</span>, NULL};</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno">  107</span> </div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno">  108</span><span class="keyword">extern</span> <a class="code hl_struct" href="../../d6/d16/struct_mux_stream.html">MuxStream</a> *<a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae83a6b9dd35a60f10d79371fb8d1c469">ms_from_ost</a>(<a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost);</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno">  109</span> </div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#abefc57cd354cac11511160a2b831da2f">  110</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#abefc57cd354cac11511160a2b831da2f">check_opt_bitexact</a>(<span class="keywordtype">void</span> *ctx, <span class="keyword">const</span> AVDictionary *opts,</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno">  111</span>                              <span class="keyword">const</span> <span class="keywordtype">char</span> *opt_name, <span class="keywordtype">int</span> flag)</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno">  112</span>{</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno">  113</span>    <span class="keyword">const</span> AVDictionaryEntry *e = av_dict_get(opts, opt_name, NULL, 0);</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno">  114</span> </div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno">  115</span>    <span class="keywordflow">if</span> (e) {</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno">  116</span>        <span class="keyword">const</span> AVOption *o = av_opt_find(ctx, opt_name, NULL, 0, 0);</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno">  117</span>        <span class="keywordtype">int</span> val = 0;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno">  118</span>        <span class="keywordflow">if</span> (!o)</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno">  119</span>            <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno">  120</span>        av_opt_eval_flags(ctx, o, e-&gt;value, &amp;val);</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno">  121</span>        <span class="keywordflow">return</span> !!(val &amp; flag);</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno">  122</span>    }</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno">  123</span>    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno">  124</span>}</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno">  125</span> </div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9c3b3ecdf831542f89b5e378f983d651">  126</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9c3b3ecdf831542f89b5e378f983d651">choose_encoder</a>(<span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o, AVFormatContext *s,</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno">  127</span>                          <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost, <span class="keyword">const</span> AVCodec **enc)</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno">  128</span>{</div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno">  129</span>    <span class="keyword">enum</span> AVMediaType type = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_type;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno">  130</span>    <span class="keywordtype">char</span> *codec_name = NULL;</div>
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno">  131</span> </div>
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno">  132</span>    *enc = NULL;</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno">  133</span> </div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno">  134</span>    <span class="keywordflow">if</span> (type == AVMEDIA_TYPE_VIDEO || type == AVMEDIA_TYPE_AUDIO || type == AVMEDIA_TYPE_SUBTITLE) {</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno">  135</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(codec_names, str, codec_name, s, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>);</div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno">  136</span>        <span class="keywordflow">if</span> (!codec_name) {</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno">  137</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_id = av_guess_codec(s-&gt;oformat, NULL, s-&gt;url,</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno">  138</span>                                                         NULL, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_type);</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno">  139</span>            *enc = avcodec_find_encoder(ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_id);</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno">  140</span>            <span class="keywordflow">if</span> (!*enc) {</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno">  141</span>                av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Automatic encoder selection failed &quot;</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno">  142</span>                       <span class="stringliteral">&quot;Default encoder for format %s (codec %s) is &quot;</span></div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno">  143</span>                       <span class="stringliteral">&quot;probably disabled. Please choose an encoder manually.\n&quot;</span>,</div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno">  144</span>                        s-&gt;oformat-&gt;name, avcodec_get_name(ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_id));</div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno">  145</span>                <span class="keywordflow">return</span> AVERROR_ENCODER_NOT_FOUND;</div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno">  146</span>            }</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno">  147</span>        } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(codec_name, <span class="stringliteral">&quot;copy&quot;</span>)) {</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno">  148</span>            *enc = <a class="code hl_function" href="../../d7/db3/fftools__ffmpeg_8h.html#abba39d7a278d64e44d87eebe46bae34c">find_codec_or_die</a>(ost, codec_name, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_type, 1);</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno">  149</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_id = (*enc)-&gt;id;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno">  150</span>        }</div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno">  151</span>    }</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno">  152</span> </div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno">  153</span>    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno">  154</span>}</div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno">  155</span> </div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9a8058420e622ff759c7e2a6b69a834b">  156</a></span><span class="keyword">static</span> <span class="keywordtype">char</span> *<a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9a8058420e622ff759c7e2a6b69a834b">get_line</a>(AVIOContext *s, AVBPrint *bprint)</div>
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno">  157</span>{</div>
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno">  158</span>    <span class="keywordtype">char</span> c;</div>
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno">  159</span> </div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno">  160</span>    <span class="keywordflow">while</span> ((c = avio_r8(s)) &amp;&amp; c != <span class="charliteral">&#39;\n&#39;</span>)</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno">  161</span>        av_bprint_chars(bprint, c, 1);</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno">  162</span> </div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno">  163</span>    <span class="keywordflow">if</span> (!av_bprint_is_complete(bprint))</div>
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno">  164</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno">  165</span>    <span class="keywordflow">return</span> bprint-&gt;str;</div>
<div class="line"><a id="l00166" name="l00166"></a><span class="lineno">  166</span>}</div>
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno">  167</span> </div>
<div class="line"><a id="l00168" name="l00168"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a0052cf48462a3b3af1ba77fc84a3bb45">  168</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a0052cf48462a3b3af1ba77fc84a3bb45">get_preset_file_2</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *preset_name, <span class="keyword">const</span> <span class="keywordtype">char</span> *codec_name, AVIOContext **s)</div>
<div class="line"><a id="l00169" name="l00169"></a><span class="lineno">  169</span>{</div>
<div class="line"><a id="l00170" name="l00170"></a><span class="lineno">  170</span>    <span class="keywordtype">int</span> i, ret = -1;</div>
<div class="line"><a id="l00171" name="l00171"></a><span class="lineno">  171</span>    <span class="keywordtype">char</span> filename[1000];</div>
<div class="line"><a id="l00172" name="l00172"></a><span class="lineno">  172</span>    <span class="keywordtype">char</span> *env_avconv_datadir = getenv_utf8(<span class="stringliteral">&quot;AVCONV_DATADIR&quot;</span>);</div>
<div class="line"><a id="l00173" name="l00173"></a><span class="lineno">  173</span>    <span class="keywordtype">char</span> *env_home = getenv_utf8(<span class="stringliteral">&quot;HOME&quot;</span>);</div>
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno">  174</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *base[3] = { env_avconv_datadir,</div>
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno">  175</span>                            env_home,</div>
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno">  176</span>                            AVCONV_DATADIR,</div>
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno">  177</span>                            };</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno">  178</span> </div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno">  179</span>    <span class="keywordflow">for</span> (i = 0; i &lt; FF_ARRAY_ELEMS(base) &amp;&amp; ret &lt; 0; i++) {</div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno">  180</span>        <span class="keywordflow">if</span> (!base[i])</div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno">  181</span>            <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno">  182</span>        <span class="keywordflow">if</span> (codec_name) {</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno">  183</span>            snprintf(filename, <span class="keyword">sizeof</span>(filename), <span class="stringliteral">&quot;%s%s/%s-%s.avpreset&quot;</span>, base[i],</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno">  184</span>                     i != 1 ? <span class="stringliteral">&quot;&quot;</span> : <span class="stringliteral">&quot;/.avconv&quot;</span>, codec_name, preset_name);</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno">  185</span>            ret = avio_open2(s, filename, AVIO_FLAG_READ, &amp;<a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a166da4a1a1f99ead2015de10ca32e48f">int_cb</a>, NULL);</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno">  186</span>        }</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno">  187</span>        <span class="keywordflow">if</span> (ret &lt; 0) {</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno">  188</span>            snprintf(filename, <span class="keyword">sizeof</span>(filename), <span class="stringliteral">&quot;%s%s/%s.avpreset&quot;</span>, base[i],</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno">  189</span>                     i != 1 ? <span class="stringliteral">&quot;&quot;</span> : <span class="stringliteral">&quot;/.avconv&quot;</span>, preset_name);</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno">  190</span>            ret = avio_open2(s, filename, AVIO_FLAG_READ, &amp;<a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a166da4a1a1f99ead2015de10ca32e48f">int_cb</a>, NULL);</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno">  191</span>        }</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno">  192</span>    }</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno">  193</span>    freeenv_utf8(env_home);</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno">  194</span>    freeenv_utf8(env_avconv_datadir);</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno">  195</span>    <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno">  196</span>}</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno">  197</span> </div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"><a class="line" href="../../d7/d48/fftools__ffmpeg_8c.html#a7c8b05ad374d509c5560df0abe1f358c">  198</a></span>__thread <a class="code hl_struct" href="../../da/d56/struct_enc_stats_file.html">EncStatsFile</a>   *<a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2832dc71df723ecf99fe07ceddd284fd">enc_stats_files</a>;</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"><a class="line" href="../../d7/d48/fftools__ffmpeg_8c.html#a3b5436584148755e3325b3a8bc5a5e88">  199</a></span>__thread <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3b5436584148755e3325b3a8bc5a5e88">nb_enc_stats_files</a>;</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno">  200</span> </div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a7a6df486e1830c3e4fb4e4d85105bfc1">  201</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a7a6df486e1830c3e4fb4e4d85105bfc1">enc_stats_get_file</a>(AVIOContext **io, <span class="keyword">const</span> <span class="keywordtype">char</span> *path)</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno">  202</span>{</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno">  203</span>    <a class="code hl_struct" href="../../da/d56/struct_enc_stats_file.html">EncStatsFile</a> *esf;</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno">  204</span>    <span class="keywordtype">int</span> ret;</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno">  205</span> </div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno">  206</span>    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3b5436584148755e3325b3a8bc5a5e88">nb_enc_stats_files</a>; i++)</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno">  207</span>        <span class="keywordflow">if</span> (!strcmp(path, <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2832dc71df723ecf99fe07ceddd284fd">enc_stats_files</a>[i].path)) {</div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno">  208</span>            *io = <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2832dc71df723ecf99fe07ceddd284fd">enc_stats_files</a>[i].<a class="code hl_variable" href="../../da/d56/struct_enc_stats_file.html#a3c1ac5af7c22c45c0155d1b81c869fb9">io</a>;</div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno">  209</span>            <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno">  210</span>        }</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno">  211</span> </div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno">  212</span>    <a class="code hl_define" href="../../d8/d4e/fftools__cmdutils_8h.html#aa75501e4e249657d5f0df6d7e8645d4f">GROW_ARRAY</a>(<a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2832dc71df723ecf99fe07ceddd284fd">enc_stats_files</a>, <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3b5436584148755e3325b3a8bc5a5e88">nb_enc_stats_files</a>);</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno">  213</span> </div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno">  214</span>    esf = &amp;<a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2832dc71df723ecf99fe07ceddd284fd">enc_stats_files</a>[<a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3b5436584148755e3325b3a8bc5a5e88">nb_enc_stats_files</a> - 1];</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno">  215</span> </div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno">  216</span>    ret = avio_open2(&amp;esf-&gt;<a class="code hl_variable" href="../../da/d56/struct_enc_stats_file.html#a3c1ac5af7c22c45c0155d1b81c869fb9">io</a>, path, AVIO_FLAG_WRITE, &amp;<a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a166da4a1a1f99ead2015de10ca32e48f">int_cb</a>, NULL);</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno">  217</span>    <span class="keywordflow">if</span> (ret &lt; 0) {</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno">  218</span>        av_log(NULL, AV_LOG_ERROR, <span class="stringliteral">&quot;Error opening stats file &#39;%s&#39;: %s\n&quot;</span>,</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno">  219</span>               path, av_err2str(ret));</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno">  220</span>        <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno">  221</span>    }</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno">  222</span> </div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno">  223</span>    esf-&gt;<a class="code hl_variable" href="../../da/d56/struct_enc_stats_file.html#a85b8dfec2eb99b2cd1d0214d1f8f8fa2">path</a> = av_strdup(path);</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno">  224</span>    <span class="keywordflow">if</span> (!esf-&gt;<a class="code hl_variable" href="../../da/d56/struct_enc_stats_file.html#a85b8dfec2eb99b2cd1d0214d1f8f8fa2">path</a>)</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno">  225</span>        <span class="keywordflow">return</span> AVERROR(ENOMEM);</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno">  226</span> </div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno">  227</span>    *io = esf-&gt;<a class="code hl_variable" href="../../da/d56/struct_enc_stats_file.html#a3c1ac5af7c22c45c0155d1b81c869fb9">io</a>;</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno">  228</span> </div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno">  229</span>    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno">  230</span>}</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno">  231</span> </div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"><a class="line" href="../../d7/db3/fftools__ffmpeg_8h.html#a8bfb1b7f89c66c61f6404cde006a1281">  232</a></span><span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8bfb1b7f89c66c61f6404cde006a1281">of_enc_stats_close</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno">  233</span>{</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno">  234</span>    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3b5436584148755e3325b3a8bc5a5e88">nb_enc_stats_files</a>; i++) {</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno">  235</span>        av_freep(&amp;<a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2832dc71df723ecf99fe07ceddd284fd">enc_stats_files</a>[i].path);</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno">  236</span>        avio_closep(&amp;<a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2832dc71df723ecf99fe07ceddd284fd">enc_stats_files</a>[i].io);</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno">  237</span>    }</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno">  238</span>    av_freep(&amp;<a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2832dc71df723ecf99fe07ceddd284fd">enc_stats_files</a>);</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno">  239</span>    <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3b5436584148755e3325b3a8bc5a5e88">nb_enc_stats_files</a> = 0;</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno">  240</span>}</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno">  241</span> </div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a66195519cb9d9bf1d6d77b18519c5cdd">  242</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a66195519cb9d9bf1d6d77b18519c5cdd">unescape</a>(<span class="keywordtype">char</span> **pdst, <span class="keywordtype">size_t</span> *dst_len,</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno">  243</span>                    <span class="keyword">const</span> <span class="keywordtype">char</span> **pstr, <span class="keywordtype">char</span> delim)</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno">  244</span>{</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno">  245</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *str = *pstr;</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno">  246</span>    <span class="keywordtype">char</span> *dst;</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno">  247</span>    <span class="keywordtype">size_t</span> len, idx;</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno">  248</span> </div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno">  249</span>    *pdst = NULL;</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno">  250</span> </div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno">  251</span>    len = strlen(str);</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno">  252</span>    <span class="keywordflow">if</span> (!len)</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno">  253</span>        <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno">  254</span> </div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno">  255</span>    dst = av_malloc(len + 1);</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno">  256</span>    <span class="keywordflow">if</span> (!dst)</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno">  257</span>        <span class="keywordflow">return</span> AVERROR(ENOMEM);</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno">  258</span> </div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno">  259</span>    <span class="keywordflow">for</span> (idx = 0; *str; idx++, str++) {</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno">  260</span>        <span class="keywordflow">if</span> (str[0] == <span class="charliteral">&#39;\\&#39;</span> &amp;&amp; str[1])</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno">  261</span>            str++;</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno">  262</span>        <span class="keywordflow">else</span> <span class="keywordflow">if</span> (*str == delim)</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno">  263</span>            <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno">  264</span> </div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno">  265</span>        dst[idx] = *str;</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno">  266</span>    }</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno">  267</span>    <span class="keywordflow">if</span> (!idx) {</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno">  268</span>        av_freep(&amp;dst);</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno">  269</span>        <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno">  270</span>    }</div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno">  271</span> </div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno">  272</span>    dst[idx] = 0;</div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno">  273</span> </div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno">  274</span>    *pdst    = dst;</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno">  275</span>    *dst_len = idx;</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno">  276</span>    *pstr    = str;</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno">  277</span> </div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno">  278</span>    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno">  279</span>}</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno">  280</span> </div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a6b1b89ce12b5affb6db48eff2e6d36d3">  281</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a6b1b89ce12b5affb6db48eff2e6d36d3">enc_stats_init</a>(<a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost, <a class="code hl_struct" href="../../db/dbb/struct_enc_stats.html">EncStats</a> *es, <span class="keywordtype">int</span> pre,</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno">  282</span>                          <span class="keyword">const</span> <span class="keywordtype">char</span> *path, <span class="keyword">const</span> <span class="keywordtype">char</span> *fmt_spec)</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno">  283</span>{</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno">  284</span>    <span class="keyword">static</span> <span class="keyword">const</span> <span class="keyword">struct </span>{</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno">  285</span>        <span class="keyword">enum</span> <a class="code hl_enumeration" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491">EncStatsType</a>  type;</div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno">  286</span>        <span class="keyword">const</span> <span class="keywordtype">char</span>        *str;</div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno">  287</span>        <span class="keywordtype">int</span>                pre_only:1;</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno">  288</span>        <span class="keywordtype">int</span>                post_only:1;</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno">  289</span>        <span class="keywordtype">int</span>                need_input_data:1;</div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno">  290</span>    } fmt_specs[] = {</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno">  291</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491abf6c4f90e9fe7c33818688220c3a88a0">ENC_STATS_FILE_IDX</a>,       <span class="stringliteral">&quot;fidx&quot;</span>                      },</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno">  292</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a051062cf3b10962bcc661d3042b70c02">ENC_STATS_STREAM_IDX</a>,     <span class="stringliteral">&quot;sidx&quot;</span>                      },</div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno">  293</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491aad00637568cd7c49f4fefe3347a8a02b">ENC_STATS_FRAME_NUM</a>,      <span class="stringliteral">&quot;n&quot;</span>                         },</div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno">  294</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491aa8a8532620d36bc0755aa975b3e241b3">ENC_STATS_FRAME_NUM_IN</a>,   <span class="stringliteral">&quot;ni&quot;</span>,       0, 0, 1         },</div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno">  295</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a6cbf117d394a490309ab3575ecac3828">ENC_STATS_TIMEBASE</a>,       <span class="stringliteral">&quot;tb&quot;</span>                        },</div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno">  296</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491af84e9004e64a37d83ea779e70b74b834">ENC_STATS_TIMEBASE_IN</a>,    <span class="stringliteral">&quot;tbi&quot;</span>,      0, 0, 1         },</div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno">  297</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491aabaa9c9bfb8dd8c1db4735423e258d25">ENC_STATS_PTS</a>,            <span class="stringliteral">&quot;pts&quot;</span>                       },</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno">  298</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a05626d5941aec26804d242927e4f8a78">ENC_STATS_PTS_TIME</a>,       <span class="stringliteral">&quot;t&quot;</span>                         },</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno">  299</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491af70985529f5ec59c12fe0e8475d14551">ENC_STATS_PTS_IN</a>,         <span class="stringliteral">&quot;ptsi&quot;</span>,     0, 0, 1         },</div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno">  300</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491afd9222e328394ff11e2e3bf13f28c675">ENC_STATS_PTS_TIME_IN</a>,    <span class="stringliteral">&quot;ti&quot;</span>,       0, 0, 1         },</div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno">  301</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491ac7548a2352bc66f02033e5b7dd089875">ENC_STATS_DTS</a>,            <span class="stringliteral">&quot;dts&quot;</span>,      0, 1            },</div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno">  302</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a8bfe64444a29f1df6e844e4b0b634a72">ENC_STATS_DTS_TIME</a>,       <span class="stringliteral">&quot;dt&quot;</span>,       0, 1            },</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno">  303</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a1672a006c8244bbd4ac58b016932b115">ENC_STATS_SAMPLE_NUM</a>,     <span class="stringliteral">&quot;sn&quot;</span>,       1               },</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno">  304</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491afdf86d5403425c849d15a6afc4bc7cf6">ENC_STATS_NB_SAMPLES</a>,     <span class="stringliteral">&quot;samp&quot;</span>,     1               },</div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno">  305</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a9e2ec6653396dd4befa5a77ec91fe4e9">ENC_STATS_PKT_SIZE</a>,       <span class="stringliteral">&quot;size&quot;</span>,     0, 1            },</div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno">  306</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491ad5e92a74e1ba2c1a585d48ee9cf4d142">ENC_STATS_BITRATE</a>,        <span class="stringliteral">&quot;br&quot;</span>,       0, 1            },</div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno">  307</span>        { <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a18755d86da2b9bed2608a5726bf965c0">ENC_STATS_AVG_BITRATE</a>,    <span class="stringliteral">&quot;abr&quot;</span>,      0, 1            },</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno">  308</span>    };</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno">  309</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *next = fmt_spec;</div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno">  310</span> </div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno">  311</span>    <span class="keywordtype">int</span> ret;</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno">  312</span> </div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno">  313</span>    <span class="keywordflow">while</span> (*next) {</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno">  314</span>        <a class="code hl_struct" href="../../dd/d0c/struct_enc_stats_component.html">EncStatsComponent</a> *c;</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno">  315</span>        <span class="keywordtype">char</span> *val;</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno">  316</span>        <span class="keywordtype">size_t</span> val_len;</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno">  317</span> </div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno">  318</span>        <span class="comment">// get the sequence up until next opening brace</span></div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno">  319</span>        ret = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a66195519cb9d9bf1d6d77b18519c5cdd">unescape</a>(&amp;val, &amp;val_len, &amp;next, <span class="charliteral">&#39;{&#39;</span>);</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno">  320</span>        <span class="keywordflow">if</span> (ret &lt; 0)</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno">  321</span>            <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno">  322</span> </div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno">  323</span>        <span class="keywordflow">if</span> (val) {</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno">  324</span>            <a class="code hl_define" href="../../d8/d4e/fftools__cmdutils_8h.html#aa75501e4e249657d5f0df6d7e8645d4f">GROW_ARRAY</a>(es-&gt;<a class="code hl_variable" href="../../db/dbb/struct_enc_stats.html#a6ac9fd4a7b66132f4ec99cfa26d1541b">components</a>, es-&gt;<a class="code hl_variable" href="../../db/dbb/struct_enc_stats.html#a370b425c612e758991a6e03e4457b728">nb_components</a>);</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno">  325</span> </div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno">  326</span>            c          = &amp;es-&gt;<a class="code hl_variable" href="../../db/dbb/struct_enc_stats.html#a6ac9fd4a7b66132f4ec99cfa26d1541b">components</a>[es-&gt;<a class="code hl_variable" href="../../db/dbb/struct_enc_stats.html#a370b425c612e758991a6e03e4457b728">nb_components</a> - 1];</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno">  327</span>            c-&gt;<a class="code hl_variable" href="../../dd/d0c/struct_enc_stats_component.html#a9a028c1b850d321a8f2644d8aa8f28ea">type</a>    = <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a641f94f23e1372be2e22304754d271a8">ENC_STATS_LITERAL</a>;</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno">  328</span>            c-&gt;<a class="code hl_variable" href="../../dd/d0c/struct_enc_stats_component.html#aac3a79a71385be5f77099e974c1b1a5f">str</a>     = val;</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno">  329</span>            c-&gt;<a class="code hl_variable" href="../../dd/d0c/struct_enc_stats_component.html#aba88c80fb820b93d9aba4500eef4ff9c">str_len</a> = val_len;</div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno">  330</span>        }</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno">  331</span> </div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno">  332</span>        <span class="keywordflow">if</span> (!*next)</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno">  333</span>            <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno">  334</span>        next++;</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno">  335</span> </div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno">  336</span>        <span class="comment">// get the part inside braces</span></div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno">  337</span>        ret = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a66195519cb9d9bf1d6d77b18519c5cdd">unescape</a>(&amp;val, &amp;val_len, &amp;next, <span class="charliteral">&#39;}&#39;</span>);</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno">  338</span>        <span class="keywordflow">if</span> (ret &lt; 0)</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno">  339</span>            <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno">  340</span> </div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno">  341</span>        <span class="keywordflow">if</span> (!val) {</div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno">  342</span>            av_log(NULL, AV_LOG_ERROR,</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno">  343</span>                   <span class="stringliteral">&quot;Empty formatting directive in: %s\n&quot;</span>, fmt_spec);</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno">  344</span>            <span class="keywordflow">return</span> AVERROR(EINVAL);</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno">  345</span>        }</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno">  346</span> </div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno">  347</span>        <span class="keywordflow">if</span> (!*next) {</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno">  348</span>            av_log(NULL, AV_LOG_ERROR,</div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno">  349</span>                   <span class="stringliteral">&quot;Missing closing brace in: %s\n&quot;</span>, fmt_spec);</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno">  350</span>            ret = AVERROR(EINVAL);</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno">  351</span>            <span class="keywordflow">goto</span> fail;</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno">  352</span>        }</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno">  353</span>        next++;</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno">  354</span> </div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno">  355</span>        <a class="code hl_define" href="../../d8/d4e/fftools__cmdutils_8h.html#aa75501e4e249657d5f0df6d7e8645d4f">GROW_ARRAY</a>(es-&gt;<a class="code hl_variable" href="../../db/dbb/struct_enc_stats.html#a6ac9fd4a7b66132f4ec99cfa26d1541b">components</a>, es-&gt;<a class="code hl_variable" href="../../db/dbb/struct_enc_stats.html#a370b425c612e758991a6e03e4457b728">nb_components</a>);</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno">  356</span>        c = &amp;es-&gt;<a class="code hl_variable" href="../../db/dbb/struct_enc_stats.html#a6ac9fd4a7b66132f4ec99cfa26d1541b">components</a>[es-&gt;<a class="code hl_variable" href="../../db/dbb/struct_enc_stats.html#a370b425c612e758991a6e03e4457b728">nb_components</a> - 1];</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno">  357</span> </div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno">  358</span>        <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; FF_ARRAY_ELEMS(fmt_specs); i++) {</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno">  359</span>            <span class="keywordflow">if</span> (!strcmp(val, fmt_specs[i].str)) {</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno">  360</span>                <span class="keywordflow">if</span> ((pre &amp;&amp; fmt_specs[i].post_only) || (!pre &amp;&amp; fmt_specs[i].pre_only)) {</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno">  361</span>                    av_log(NULL, AV_LOG_ERROR,</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno">  362</span>                           <span class="stringliteral">&quot;Format directive &#39;%s&#39; may only be used %s-encoding\n&quot;</span>,</div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno">  363</span>                           val, pre ? <span class="stringliteral">&quot;post&quot;</span> : <span class="stringliteral">&quot;pre&quot;</span>);</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno">  364</span>                    ret = AVERROR(EINVAL);</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno">  365</span>                    <span class="keywordflow">goto</span> fail;</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno">  366</span>                }</div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno">  367</span> </div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno">  368</span>                c-&gt;<a class="code hl_variable" href="../../dd/d0c/struct_enc_stats_component.html#a9a028c1b850d321a8f2644d8aa8f28ea">type</a> = fmt_specs[i].type;</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno">  369</span> </div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno">  370</span>                <span class="keywordflow">if</span> (fmt_specs[i].need_input_data) {</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno">  371</span>                    <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>)</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno">  372</span>                        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#a3df48bcac32b134bb20d3943759ac2fb">want_frame_data</a> = 1;</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno">  373</span>                    <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno">  374</span>                        av_log(ost, AV_LOG_WARNING,</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno">  375</span>                               <span class="stringliteral">&quot;Format directive &#39;%s&#39; is unavailable, because &quot;</span></div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno">  376</span>                               <span class="stringliteral">&quot;this output stream has no associated input stream\n&quot;</span>,</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno">  377</span>                               val);</div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno">  378</span>                    }</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno">  379</span>                }</div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno">  380</span> </div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno">  381</span>                <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno">  382</span>            }</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno">  383</span>        }</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno">  384</span> </div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno">  385</span>        <span class="keywordflow">if</span> (!c-&gt;<a class="code hl_variable" href="../../dd/d0c/struct_enc_stats_component.html#a9a028c1b850d321a8f2644d8aa8f28ea">type</a>) {</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno">  386</span>            av_log(NULL, AV_LOG_ERROR, <span class="stringliteral">&quot;Invalid format directive: %s\n&quot;</span>, val);</div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno">  387</span>            ret = AVERROR(EINVAL);</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno">  388</span>            <span class="keywordflow">goto</span> fail;</div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno">  389</span>        }</div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno">  390</span> </div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno">  391</span>fail:</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno">  392</span>        av_freep(&amp;val);</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno">  393</span>        <span class="keywordflow">if</span> (ret &lt; 0)</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno">  394</span>            <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno">  395</span>    }</div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno">  396</span> </div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno">  397</span>    ret = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a7a6df486e1830c3e4fb4e4d85105bfc1">enc_stats_get_file</a>(&amp;es-&gt;<a class="code hl_variable" href="../../db/dbb/struct_enc_stats.html#a50bb75907b3d604c4171e2c13bca8dea">io</a>, path);</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno">  398</span>    <span class="keywordflow">if</span> (ret &lt; 0)</div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno">  399</span>        <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno">  400</span> </div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno">  401</span>    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno">  402</span>}</div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno">  403</span> </div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a575c337ad712a45fd6f03eccb9698e4a">  404</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a575c337ad712a45fd6f03eccb9698e4a">output_stream_item_name</a>(<span class="keywordtype">void</span> *obj)</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno">  405</span>{</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno">  406</span>    <span class="keyword">const</span> <a class="code hl_struct" href="../../d6/d16/struct_mux_stream.html">MuxStream</a> *ms = obj;</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno">  407</span> </div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno">  408</span>    <span class="keywordflow">return</span> ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a107f70f54c356dfee464e48aaf3b3452">log_name</a>;</div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno">  409</span>}</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno">  410</span> </div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a48bdfb5ae8b9299b1f5c2b453ae973bc">  411</a></span><span class="keyword">static</span> <span class="keyword">const</span> AVClass <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a48bdfb5ae8b9299b1f5c2b453ae973bc">output_stream_class</a> = {</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno">  412</span>    .class_name = <span class="stringliteral">&quot;OutputStream&quot;</span>,</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno">  413</span>    .version    = LIBAVUTIL_VERSION_INT,</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno">  414</span>    .item_name  = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a575c337ad712a45fd6f03eccb9698e4a">output_stream_item_name</a>,</div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno">  415</span>    .category   = AV_CLASS_CATEGORY_MUXER,</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno">  416</span>};</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno">  417</span> </div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a93d56370d8494511e22c1cc4a8194caf">  418</a></span><span class="keyword">static</span> <a class="code hl_struct" href="../../d6/d16/struct_mux_stream.html">MuxStream</a> *<a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a93d56370d8494511e22c1cc4a8194caf">mux_stream_alloc</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">enum</span> AVMediaType type)</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno">  419</span>{</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno">  420</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *type_str = av_get_media_type_string(type);</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno">  421</span>    <a class="code hl_struct" href="../../d6/d16/struct_mux_stream.html">MuxStream</a> *ms = <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a91eec3bd05ae08ccbafbfff25289f7fa">allocate_array_elem</a>(&amp;mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>.<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a769a46a097161825d6c4a210bc730207">streams</a>, <span class="keyword">sizeof</span>(*ms),</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno">  422</span>                                        &amp;mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>.<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a8bfd4fc9960ee43cab7a0ab5f44f66bb">nb_streams</a>);</div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno">  423</span> </div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno">  424</span>    ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a02df84cdd7382dceb8e629df3948ecfc">ost</a>.<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#af608105788daa4300771669d992ef890">file_index</a> = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>.<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a0ec33583a114c68a6c64b103fbd14b0d">index</a>;</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno">  425</span>    ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a02df84cdd7382dceb8e629df3948ecfc">ost</a>.<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ae22fe6ee1999d45be0d8722d04294a22">index</a>      = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>.<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a8bfd4fc9960ee43cab7a0ab5f44f66bb">nb_streams</a> - 1;</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno">  426</span> </div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno">  427</span>    ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a02df84cdd7382dceb8e629df3948ecfc">ost</a>.<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#aa7e446d13f4c52421727674832548aa0">clazz</a> = &amp;<a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a48bdfb5ae8b9299b1f5c2b453ae973bc">output_stream_class</a>;</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno">  428</span> </div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno">  429</span>    snprintf(ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a107f70f54c356dfee464e48aaf3b3452">log_name</a>, <span class="keyword">sizeof</span>(ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a107f70f54c356dfee464e48aaf3b3452">log_name</a>), <span class="stringliteral">&quot;%cost#%d:%d&quot;</span>,</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno">  430</span>             type_str ? *type_str : <span class="charliteral">&#39;?&#39;</span>, mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>.<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a0ec33583a114c68a6c64b103fbd14b0d">index</a>, ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a02df84cdd7382dceb8e629df3948ecfc">ost</a>.<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ae22fe6ee1999d45be0d8722d04294a22">index</a>);</div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno">  431</span> </div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno">  432</span>    <span class="keywordflow">return</span> ms;</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno">  433</span>}</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno">  434</span> </div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adf4cd9ede29ea5f0f637d4ddb25bfc51">  435</a></span><span class="keyword">static</span> <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *<a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adf4cd9ede29ea5f0f637d4ddb25bfc51">new_output_stream</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o,</div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno">  436</span>                                       <span class="keyword">enum</span> AVMediaType type, <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *ist)</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno">  437</span>{</div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno">  438</span>    AVFormatContext *oc = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>;</div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno">  439</span>    <a class="code hl_struct" href="../../d6/d16/struct_mux_stream.html">MuxStream</a>     *ms;</div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno">  440</span>    <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost;</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno">  441</span>    <span class="keyword">const</span> AVCodec *enc;</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno">  442</span>    AVStream *st = avformat_new_stream(oc, NULL);</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno">  443</span>    <span class="keywordtype">int</span> ret = 0;</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno">  444</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *bsfs = NULL, *time_base = NULL;</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno">  445</span>    <span class="keywordtype">char</span> *next, *codec_tag = NULL;</div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno">  446</span>    <span class="keywordtype">double</span> qscale = -1;</div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno">  447</span>    <span class="keywordtype">int</span> i;</div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno">  448</span> </div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno">  449</span>    <span class="keywordflow">if</span> (!st)</div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno">  450</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno">  451</span> </div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno">  452</span>    <span class="keywordflow">if</span> (oc-&gt;nb_streams - 1 &lt; o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a2a21ce6e0d0e8f25a098ac44013ee919">nb_streamid_map</a>)</div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno">  453</span>        st-&gt;id = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a9c7cad5690796e35bc68e5a931cee22c">streamid_map</a>[oc-&gt;nb_streams - 1];</div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno">  454</span> </div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno">  455</span>    ms  = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a93d56370d8494511e22c1cc4a8194caf">mux_stream_alloc</a>(mux, type);</div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno">  456</span>    ost = &amp;ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a02df84cdd7382dceb8e629df3948ecfc">ost</a>;</div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno">  457</span> </div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno">  458</span>    ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a54f2e7eeb2dd33a33d0da854310b7422">muxing_queue</a> = av_fifo_alloc2(8, <span class="keyword">sizeof</span>(AVPacket*), 0);</div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno">  459</span>    <span class="keywordflow">if</span> (!ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a54f2e7eeb2dd33a33d0da854310b7422">muxing_queue</a>)</div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno">  460</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno">  461</span>    ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#ad87754841671e7fcf501063f067535e7">last_mux_dts</a> = AV_NOPTS_VALUE;</div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno">  462</span> </div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno">  463</span>    ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>         = st;</div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno">  464</span>    ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>        = ist;</div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno">  465</span>    ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a8451cc49d2239d80f7c5e85b232afe56">kf</a>.<a class="code hl_variable" href="../../d3/da2/struct_keyframe_force_ctx.html#a1f880ee515007075c37e454285ea9a83">ref_pts</a> = AV_NOPTS_VALUE;</div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno">  466</span>    st-&gt;codecpar-&gt;codec_type = type;</div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno">  467</span> </div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno">  468</span>    ret = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9c3b3ecdf831542f89b5e378f983d651">choose_encoder</a>(o, oc, ost, &amp;enc);</div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno">  469</span>    <span class="keywordflow">if</span> (ret &lt; 0) {</div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno">  470</span>        av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Error selecting an encoder\n&quot;</span>);</div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno">  471</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno">  472</span>    }</div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno">  473</span> </div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno">  474</span>    <span class="keywordflow">if</span> (enc) {</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno">  475</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a> = avcodec_alloc_context3(enc);</div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno">  476</span>        <span class="keywordflow">if</span> (!ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>)</div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno">  477</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno">  478</span> </div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno">  479</span>        av_strlcat(ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a107f70f54c356dfee464e48aaf3b3452">log_name</a>, <span class="stringliteral">&quot;/&quot;</span>,       <span class="keyword">sizeof</span>(ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a107f70f54c356dfee464e48aaf3b3452">log_name</a>));</div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno">  480</span>        av_strlcat(ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a107f70f54c356dfee464e48aaf3b3452">log_name</a>, enc-&gt;name, <span class="keyword">sizeof</span>(ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a107f70f54c356dfee464e48aaf3b3452">log_name</a>));</div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno">  481</span>    } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno">  482</span>        av_strlcat(ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a107f70f54c356dfee464e48aaf3b3452">log_name</a>, <span class="stringliteral">&quot;/copy&quot;</span>, <span class="keyword">sizeof</span>(ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a107f70f54c356dfee464e48aaf3b3452">log_name</a>));</div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno">  483</span>    }</div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno">  484</span> </div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno">  485</span>    ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#aa4f15da482fbfdf20b41f21481e1ef3f">filtered_frame</a> = av_frame_alloc();</div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno">  486</span>    <span class="keywordflow">if</span> (!ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#aa4f15da482fbfdf20b41f21481e1ef3f">filtered_frame</a>)</div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno">  487</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno">  488</span> </div>
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno">  489</span>    ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a34db2d7b3922da876db8ed464d7a5114">pkt</a> = av_packet_alloc();</div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno">  490</span>    <span class="keywordflow">if</span> (!ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a34db2d7b3922da876db8ed464d7a5114">pkt</a>)</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno">  491</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno">  492</span> </div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno">  493</span>    <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>) {</div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno">  494</span>        AVCodecContext *enc = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>;</div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno">  495</span>        AVIOContext *s = NULL;</div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno">  496</span>        <span class="keywordtype">char</span> *buf = NULL, *arg = NULL, *preset = NULL;</div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno">  497</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> *enc_stats_pre = NULL, *enc_stats_post = NULL, *mux_stats = NULL;</div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno">  498</span> </div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno">  499</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#abf222748d6af0fb0c72fa6b77fe2294e">encoder_opts</a> = <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#ad0557532a11ce0dfa427a8a9e94b968b">filter_codec_opts</a>(o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#affab676ea6f867fa622a0a642d8dacf8">g</a>-&gt;<a class="code hl_variable" href="../../d6/d69/struct_option_group.html#aad0856a7bcf51e6d5e8b9d007d083910">codec_opts</a>, enc-&gt;codec_id,</div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno">  500</span>                                              oc, st, enc-&gt;codec);</div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno">  501</span> </div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno">  502</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(presets, str, preset, oc, st);</div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno">  503</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a4aabbeb1e0b98e2211be7f36a3cde2aa">autoscale</a> = 1;</div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno">  504</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(autoscale, i, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a4aabbeb1e0b98e2211be7f36a3cde2aa">autoscale</a>, oc, st);</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno">  505</span>        <span class="keywordflow">if</span> (preset &amp;&amp; (!(ret = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a0052cf48462a3b3af1ba77fc84a3bb45">get_preset_file_2</a>(preset, enc-&gt;codec-&gt;name, &amp;s)))) {</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno">  506</span>            AVBPrint bprint;</div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno">  507</span>            av_bprint_init(&amp;bprint, 0, AV_BPRINT_SIZE_UNLIMITED);</div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno">  508</span>            <span class="keywordflow">do</span>  {</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno">  509</span>                av_bprint_clear(&amp;bprint);</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno">  510</span>                buf = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9a8058420e622ff759c7e2a6b69a834b">get_line</a>(s, &amp;bprint);</div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno">  511</span>                <span class="keywordflow">if</span> (!buf[0] || buf[0] == <span class="charliteral">&#39;#&#39;</span>)</div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno">  512</span>                    <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno">  513</span>                <span class="keywordflow">if</span> (!(arg = strchr(buf, <span class="charliteral">&#39;=&#39;</span>))) {</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno">  514</span>                    av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid line found in the preset file.\n&quot;</span>);</div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno">  515</span>                    <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno">  516</span>                }</div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno">  517</span>                *arg++ = 0;</div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno">  518</span>                av_dict_set(&amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#abf222748d6af0fb0c72fa6b77fe2294e">encoder_opts</a>, buf, arg, AV_DICT_DONT_OVERWRITE);</div>
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno">  519</span>            } <span class="keywordflow">while</span> (!s-&gt;eof_reached);</div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno">  520</span>            av_bprint_finalize(&amp;bprint, NULL);</div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno">  521</span>            avio_closep(&amp;s);</div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno">  522</span>        }</div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno">  523</span>        <span class="keywordflow">if</span> (ret) {</div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno">  524</span>            av_log(ost, AV_LOG_FATAL,</div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno">  525</span>                   <span class="stringliteral">&quot;Preset %s specified, but could not be opened.\n&quot;</span>, preset);</div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno">  526</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno">  527</span>        }</div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno">  528</span> </div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno">  529</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(enc_stats_pre, str, enc_stats_pre, oc, st);</div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno">  530</span>        <span class="keywordflow">if</span> (enc_stats_pre &amp;&amp;</div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno">  531</span>            (type == AVMEDIA_TYPE_VIDEO || type == AVMEDIA_TYPE_AUDIO)) {</div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno">  532</span>            <span class="keyword">const</span> <span class="keywordtype">char</span> *format = <span class="stringliteral">&quot;{fidx} {sidx} {n} {t}&quot;</span>;</div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno">  533</span> </div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno">  534</span>            <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(enc_stats_pre_fmt, str, format, oc, st);</div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno">  535</span> </div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno">  536</span>            ret = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a6b1b89ce12b5affb6db48eff2e6d36d3">enc_stats_init</a>(ost, &amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a4b60132584a912e80dea91210d1cfbd4">enc_stats_pre</a>, 1, enc_stats_pre, format);</div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno">  537</span>            <span class="keywordflow">if</span> (ret &lt; 0)</div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno">  538</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno">  539</span>        }</div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno">  540</span> </div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno">  541</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(enc_stats_post, str, enc_stats_post, oc, st);</div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno">  542</span>        <span class="keywordflow">if</span> (enc_stats_post &amp;&amp;</div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno">  543</span>            (type == AVMEDIA_TYPE_VIDEO || type == AVMEDIA_TYPE_AUDIO)) {</div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno">  544</span>            <span class="keyword">const</span> <span class="keywordtype">char</span> *format = <span class="stringliteral">&quot;{fidx} {sidx} {n} {t}&quot;</span>;</div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno">  545</span> </div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno">  546</span>            <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(enc_stats_post_fmt, str, format, oc, st);</div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno">  547</span> </div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno">  548</span>            ret = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a6b1b89ce12b5affb6db48eff2e6d36d3">enc_stats_init</a>(ost, &amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#acb5e88ff4ae180f1ba27cdaf46aebf75">enc_stats_post</a>, 0, enc_stats_post, format);</div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno">  549</span>            <span class="keywordflow">if</span> (ret &lt; 0)</div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno">  550</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno">  551</span>        }</div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno">  552</span> </div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno">  553</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(mux_stats, str, mux_stats, oc, st);</div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno">  554</span>        <span class="keywordflow">if</span> (mux_stats &amp;&amp;</div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno">  555</span>            (type == AVMEDIA_TYPE_VIDEO || type == AVMEDIA_TYPE_AUDIO)) {</div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno">  556</span>            <span class="keyword">const</span> <span class="keywordtype">char</span> *format = <span class="stringliteral">&quot;{fidx} {sidx} {n} {t}&quot;</span>;</div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno">  557</span> </div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno">  558</span>            <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(mux_stats_fmt, str, format, oc, st);</div>
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno">  559</span> </div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno">  560</span>            ret = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a6b1b89ce12b5affb6db48eff2e6d36d3">enc_stats_init</a>(ost, &amp;ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#ae5bcde701f969a60e667a2b0946c4c0d">stats</a>, 0, mux_stats, format);</div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno">  561</span>            <span class="keywordflow">if</span> (ret &lt; 0)</div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno">  562</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno">  563</span>        }</div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno">  564</span>    } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno">  565</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#abf222748d6af0fb0c72fa6b77fe2294e">encoder_opts</a> = <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#ad0557532a11ce0dfa427a8a9e94b968b">filter_codec_opts</a>(o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#affab676ea6f867fa622a0a642d8dacf8">g</a>-&gt;<a class="code hl_variable" href="../../d6/d69/struct_option_group.html#aad0856a7bcf51e6d5e8b9d007d083910">codec_opts</a>, AV_CODEC_ID_NONE, oc, st, NULL);</div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno">  566</span>    }</div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno">  567</span> </div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno">  568</span> </div>
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno">  569</span>    <span class="keywordflow">if</span> (o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a1da3f7560a0c9e44cfd8293a5d3d88ab">bitexact</a>) {</div>
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno">  570</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a18d35ef25d161a00537c7bf3759e38a2">bitexact</a>        = 1;</div>
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno">  571</span>    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>) {</div>
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno">  572</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a18d35ef25d161a00537c7bf3759e38a2">bitexact</a>        = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#abefc57cd354cac11511160a2b831da2f">check_opt_bitexact</a>(ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#abf222748d6af0fb0c72fa6b77fe2294e">encoder_opts</a>, <span class="stringliteral">&quot;flags&quot;</span>,</div>
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno">  573</span>                                                  AV_CODEC_FLAG_BITEXACT);</div>
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno">  574</span>    }</div>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno">  575</span> </div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno">  576</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(time_bases, str, time_base, oc, st);</div>
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno">  577</span>    <span class="keywordflow">if</span> (time_base) {</div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno">  578</span>        AVRational q;</div>
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno">  579</span>        <span class="keywordflow">if</span> (av_parse_ratio(&amp;q, time_base, INT_MAX, 0, NULL) &lt; 0 ||</div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno">  580</span>            q.num &lt;= 0 || q.den &lt;= 0) {</div>
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno">  581</span>            av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid time base: %s\n&quot;</span>, time_base);</div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno">  582</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno">  583</span>        }</div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno">  584</span>        st-&gt;time_base = q;</div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno">  585</span>    }</div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno">  586</span> </div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno">  587</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(enc_time_bases, str, time_base, oc, st);</div>
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno">  588</span>    <span class="keywordflow">if</span> (time_base) {</div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno">  589</span>        AVRational q;</div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno">  590</span>        <span class="keywordflow">if</span> (av_parse_ratio(&amp;q, time_base, INT_MAX, 0, NULL) &lt; 0 ||</div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno">  591</span>            q.den &lt;= 0) {</div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno">  592</span>            av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid time base: %s\n&quot;</span>, time_base);</div>
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno">  593</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno">  594</span>        }</div>
<div class="line"><a id="l00595" name="l00595"></a><span class="lineno">  595</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a8fe39b5fa1ad275e6d11dd5affaee68d">enc_timebase</a> = q;</div>
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno">  596</span>    }</div>
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno">  597</span> </div>
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno">  598</span>    ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a539d669d8a642c2fed6663c9d8014d94">max_frames</a> = INT64_MAX;</div>
<div class="line"><a id="l00599" name="l00599"></a><span class="lineno">  599</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(max_frames, i64, ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a539d669d8a642c2fed6663c9d8014d94">max_frames</a>, oc, st);</div>
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno">  600</span>    <span class="keywordflow">for</span> (i = 0; i&lt;o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a53594f37751979e91873fe8282e2e103">nb_max_frames</a>; i++) {</div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno">  601</span>        <span class="keywordtype">char</span> *p = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a3517181834318f5959bd05e47c4837ea">max_frames</a>[i].<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#ab83e423aec2a2d42a29daae047dcdb81">specifier</a>;</div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno">  602</span>        <span class="keywordflow">if</span> (!*p &amp;&amp; type != AVMEDIA_TYPE_VIDEO) {</div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno">  603</span>            av_log(ost, AV_LOG_WARNING, <span class="stringliteral">&quot;Applying unspecific -frames to non video streams, maybe you meant -vframes ?\n&quot;</span>);</div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno">  604</span>            <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno">  605</span>        }</div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno">  606</span>    }</div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno">  607</span> </div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno">  608</span>    ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab60bee90a33577cbdbb82e9c5fb2cf08">copy_prior_start</a> = -1;</div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno">  609</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(copy_prior_start, i, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab60bee90a33577cbdbb82e9c5fb2cf08">copy_prior_start</a>, oc ,st);</div>
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno">  610</span> </div>
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno">  611</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(bitstream_filters, str, bsfs, oc, st);</div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno">  612</span>    <span class="keywordflow">if</span> (bsfs &amp;&amp; *bsfs) {</div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno">  613</span>        ret = av_bsf_list_parse_str(bsfs, &amp;ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a4cb6af1db9beef3785bb1705cdb52d91">bsf_ctx</a>);</div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno">  614</span>        <span class="keywordflow">if</span> (ret &lt; 0) {</div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno">  615</span>            av_log(ost, AV_LOG_ERROR, <span class="stringliteral">&quot;Error parsing bitstream filter sequence &#39;%s&#39;: %s\n&quot;</span>, bsfs, av_err2str(ret));</div>
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno">  616</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno">  617</span>        }</div>
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno">  618</span>    }</div>
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno">  619</span> </div>
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno">  620</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(codec_tags, str, codec_tag, oc, st);</div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno">  621</span>    <span class="keywordflow">if</span> (codec_tag) {</div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno">  622</span>        uint32_t tag = strtol(codec_tag, &amp;next, 0);</div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno">  623</span>        <span class="keywordflow">if</span> (*next)</div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno">  624</span>            tag = AV_RL32(codec_tag);</div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno">  625</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_tag = tag;</div>
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno">  626</span>        <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>)</div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno">  627</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;codec_tag = tag;</div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno">  628</span>    }</div>
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno">  629</span> </div>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno">  630</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(qscale, dbl, qscale, oc, st);</div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno">  631</span>    <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a> &amp;&amp; qscale &gt;= 0) {</div>
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno">  632</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;flags |= AV_CODEC_FLAG_QSCALE;</div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno">  633</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;global_quality = FF_QP2LAMBDA * qscale;</div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno">  634</span>    }</div>
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno">  635</span> </div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno">  636</span>    ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a8cf67909b63d01d0a8797a058515b58f">max_muxing_queue_size</a> = 128;</div>
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno">  637</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(max_muxing_queue_size, i, ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a8cf67909b63d01d0a8797a058515b58f">max_muxing_queue_size</a>, oc, st);</div>
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno">  638</span> </div>
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno">  639</span>    ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#ad056cc675c397f488ccd4aa417697b29">muxing_queue_data_threshold</a> = 50*1024*1024;</div>
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno">  640</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(muxing_queue_data_threshold, i, ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#ad056cc675c397f488ccd4aa417697b29">muxing_queue_data_threshold</a>, oc, st);</div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno">  641</span> </div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno">  642</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(bits_per_raw_sample, i, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a6f732233335c0a7f9b78043c9eec1352">bits_per_raw_sample</a>,</div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno">  643</span>                         oc, st);</div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno">  644</span> </div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno">  645</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(<a class="code hl_function" href="../../d7/d48/fftools__ffmpeg_8c.html#a531b5fbb3fccb6bfab1f3cfa2f391b70">fix_sub_duration_heartbeat</a>, i, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a0ead6066e95744c0222020cc0df51b39">fix_sub_duration_heartbeat</a>,</div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno">  646</span>                         oc, st);</div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno">  647</span> </div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno">  648</span>    <span class="keywordflow">if</span> (oc-&gt;oformat-&gt;flags &amp; AVFMT_GLOBALHEADER &amp;&amp; ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>)</div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno">  649</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;flags |= AV_CODEC_FLAG_GLOBAL_HEADER;</div>
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno">  650</span> </div>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno">  651</span>    av_dict_copy(&amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ad55eb675077dc7b468f15f02a03ded5a">sws_dict</a>, o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#affab676ea6f867fa622a0a642d8dacf8">g</a>-&gt;<a class="code hl_variable" href="../../d6/d69/struct_option_group.html#ad49cc9faed6022da9329fcd220c8467b">sws_dict</a>, 0);</div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno">  652</span> </div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno">  653</span>    av_dict_copy(&amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a0c7606649d3fd916e9eaf19e12fd92c7">swr_opts</a>, o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#affab676ea6f867fa622a0a642d8dacf8">g</a>-&gt;<a class="code hl_variable" href="../../d6/d69/struct_option_group.html#aad5bf1f2e0e3da5827b689f94e05937d">swr_opts</a>, 0);</div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno">  654</span>    <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a> &amp;&amp; av_get_exact_bits_per_sample(ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;codec_id) == 24)</div>
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno">  655</span>        av_dict_set(&amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a0c7606649d3fd916e9eaf19e12fd92c7">swr_opts</a>, <span class="stringliteral">&quot;output_sample_bits&quot;</span>, <span class="stringliteral">&quot;24&quot;</span>, 0);</div>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno">  656</span> </div>
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno">  657</span>    <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>) {</div>
<div class="line"><a id="l00658" name="l00658"></a><span class="lineno">  658</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#ac39249a26eeec2ed084fcc433ec9825e">discard</a> = 0;</div>
<div class="line"><a id="l00659" name="l00659"></a><span class="lineno">  659</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;discard = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#a86b730f87f0f8ebd088f94af51d91b96">user_set_discard</a>;</div>
<div class="line"><a id="l00660" name="l00660"></a><span class="lineno">  660</span>    }</div>
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno">  661</span>    ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a1fd50164583dbdc664706be005120c1d">last_mux_dts</a> = AV_NOPTS_VALUE;</div>
<div class="line"><a id="l00662" name="l00662"></a><span class="lineno">  662</span>    ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a39be21a24844901ce54a6740f4a8c16b">last_filter_pts</a> = AV_NOPTS_VALUE;</div>
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno">  663</span> </div>
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno">  664</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(copy_initial_nonkeyframes, i,</div>
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno">  665</span>                         ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a1c371db7f52c96799a042c70ed85ce2a">copy_initial_nonkeyframes</a>, oc, st);</div>
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno">  666</span> </div>
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno">  667</span>    <span class="keywordflow">return</span> ost;</div>
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno">  668</span>}</div>
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno">  669</span> </div>
<div class="line"><a id="l00670" name="l00670"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#af21bd449156e9d7858ed31ffb7b68fe7">  670</a></span><span class="keyword">static</span> <span class="keywordtype">char</span> *<a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#af21bd449156e9d7858ed31ffb7b68fe7">get_ost_filters</a>(<span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o, AVFormatContext *oc,</div>
<div class="line"><a id="l00671" name="l00671"></a><span class="lineno">  671</span>                             <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost)</div>
<div class="line"><a id="l00672" name="l00672"></a><span class="lineno">  672</span>{</div>
<div class="line"><a id="l00673" name="l00673"></a><span class="lineno">  673</span>    AVStream *st = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>;</div>
<div class="line"><a id="l00674" name="l00674"></a><span class="lineno">  674</span> </div>
<div class="line"><a id="l00675" name="l00675"></a><span class="lineno">  675</span>    <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#acbe9d7fddd3daaab6e9337099ec824f2">filters_script</a> &amp;&amp; ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac2cdba9dbd9a315fd3ea90cbfb634409">filters</a>) {</div>
<div class="line"><a id="l00676" name="l00676"></a><span class="lineno">  676</span>        av_log(ost, AV_LOG_ERROR, <span class="stringliteral">&quot;Both -filter and -filter_script set\n&quot;</span>);</div>
<div class="line"><a id="l00677" name="l00677"></a><span class="lineno">  677</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00678" name="l00678"></a><span class="lineno">  678</span>    }</div>
<div class="line"><a id="l00679" name="l00679"></a><span class="lineno">  679</span> </div>
<div class="line"><a id="l00680" name="l00680"></a><span class="lineno">  680</span>    <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#acbe9d7fddd3daaab6e9337099ec824f2">filters_script</a>)</div>
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno">  681</span>        <span class="keywordflow">return</span> <a class="code hl_function" href="../../d7/db3/fftools__ffmpeg_8h.html#aece5258804b85a3e9a48f050c915e5cc">file_read</a>(ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#acbe9d7fddd3daaab6e9337099ec824f2">filters_script</a>);</div>
<div class="line"><a id="l00682" name="l00682"></a><span class="lineno">  682</span>    <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac2cdba9dbd9a315fd3ea90cbfb634409">filters</a>)</div>
<div class="line"><a id="l00683" name="l00683"></a><span class="lineno">  683</span>        <span class="keywordflow">return</span> av_strdup(ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac2cdba9dbd9a315fd3ea90cbfb634409">filters</a>);</div>
<div class="line"><a id="l00684" name="l00684"></a><span class="lineno">  684</span> </div>
<div class="line"><a id="l00685" name="l00685"></a><span class="lineno">  685</span>    <span class="keywordflow">return</span> av_strdup(st-&gt;codecpar-&gt;codec_type == AVMEDIA_TYPE_VIDEO ?</div>
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno">  686</span>                     <span class="stringliteral">&quot;null&quot;</span> : <span class="stringliteral">&quot;anull&quot;</span>);</div>
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno">  687</span>}</div>
<div class="line"><a id="l00688" name="l00688"></a><span class="lineno">  688</span> </div>
<div class="line"><a id="l00689" name="l00689"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adbf7f4b1b1d79fe7c8830654ecc55e1b">  689</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adbf7f4b1b1d79fe7c8830654ecc55e1b">check_streamcopy_filters</a>(<span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o, AVFormatContext *oc,</div>
<div class="line"><a id="l00690" name="l00690"></a><span class="lineno">  690</span>                                     <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost, <span class="keyword">enum</span> AVMediaType type)</div>
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno">  691</span>{</div>
<div class="line"><a id="l00692" name="l00692"></a><span class="lineno">  692</span>    <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#acbe9d7fddd3daaab6e9337099ec824f2">filters_script</a> || ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac2cdba9dbd9a315fd3ea90cbfb634409">filters</a>) {</div>
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno">  693</span>        av_log(ost, AV_LOG_ERROR,</div>
<div class="line"><a id="l00694" name="l00694"></a><span class="lineno">  694</span>               <span class="stringliteral">&quot;%s &#39;%s&#39; was defined, but codec copy was selected.\n&quot;</span></div>
<div class="line"><a id="l00695" name="l00695"></a><span class="lineno">  695</span>               <span class="stringliteral">&quot;Filtering and streamcopy cannot be used together.\n&quot;</span>,</div>
<div class="line"><a id="l00696" name="l00696"></a><span class="lineno">  696</span>               ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac2cdba9dbd9a315fd3ea90cbfb634409">filters</a> ? <span class="stringliteral">&quot;Filtergraph&quot;</span> : <span class="stringliteral">&quot;Filtergraph script&quot;</span>,</div>
<div class="line"><a id="l00697" name="l00697"></a><span class="lineno">  697</span>               ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac2cdba9dbd9a315fd3ea90cbfb634409">filters</a> ? ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac2cdba9dbd9a315fd3ea90cbfb634409">filters</a> : ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#acbe9d7fddd3daaab6e9337099ec824f2">filters_script</a>);</div>
<div class="line"><a id="l00698" name="l00698"></a><span class="lineno">  698</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00699" name="l00699"></a><span class="lineno">  699</span>    }</div>
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno">  700</span>}</div>
<div class="line"><a id="l00701" name="l00701"></a><span class="lineno">  701</span> </div>
<div class="line"><a id="l00702" name="l00702"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aa19e3da070adc5abfe32fe9b5713455e">  702</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aa19e3da070adc5abfe32fe9b5713455e">parse_matrix_coeffs</a>(<span class="keywordtype">void</span> *logctx, uint16_t *dest, <span class="keyword">const</span> <span class="keywordtype">char</span> *str)</div>
<div class="line"><a id="l00703" name="l00703"></a><span class="lineno">  703</span>{</div>
<div class="line"><a id="l00704" name="l00704"></a><span class="lineno">  704</span>    <span class="keywordtype">int</span> i;</div>
<div class="line"><a id="l00705" name="l00705"></a><span class="lineno">  705</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *p = str;</div>
<div class="line"><a id="l00706" name="l00706"></a><span class="lineno">  706</span>    <span class="keywordflow">for</span> (i = 0;; i++) {</div>
<div class="line"><a id="l00707" name="l00707"></a><span class="lineno">  707</span>        dest[i] = atoi(p);</div>
<div class="line"><a id="l00708" name="l00708"></a><span class="lineno">  708</span>        <span class="keywordflow">if</span> (i == 63)</div>
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno">  709</span>            <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00710" name="l00710"></a><span class="lineno">  710</span>        p = strchr(p, <span class="charliteral">&#39;,&#39;</span>);</div>
<div class="line"><a id="l00711" name="l00711"></a><span class="lineno">  711</span>        <span class="keywordflow">if</span> (!p) {</div>
<div class="line"><a id="l00712" name="l00712"></a><span class="lineno">  712</span>            av_log(logctx, AV_LOG_FATAL,</div>
<div class="line"><a id="l00713" name="l00713"></a><span class="lineno">  713</span>                   <span class="stringliteral">&quot;Syntax error in matrix \&quot;%s\&quot; at coeff %d\n&quot;</span>, str, i);</div>
<div class="line"><a id="l00714" name="l00714"></a><span class="lineno">  714</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00715" name="l00715"></a><span class="lineno">  715</span>        }</div>
<div class="line"><a id="l00716" name="l00716"></a><span class="lineno">  716</span>        p++;</div>
<div class="line"><a id="l00717" name="l00717"></a><span class="lineno">  717</span>    }</div>
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno">  718</span>}</div>
<div class="line"><a id="l00719" name="l00719"></a><span class="lineno">  719</span> </div>
<div class="line"><a id="l00720" name="l00720"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a4fc06433569e921747604ffe642b65ff">  720</a></span><span class="keyword">static</span> <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *<a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a4fc06433569e921747604ffe642b65ff">new_video_stream</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o, <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *ist)</div>
<div class="line"><a id="l00721" name="l00721"></a><span class="lineno">  721</span>{</div>
<div class="line"><a id="l00722" name="l00722"></a><span class="lineno">  722</span>    AVFormatContext *oc = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>;</div>
<div class="line"><a id="l00723" name="l00723"></a><span class="lineno">  723</span>    AVStream *st;</div>
<div class="line"><a id="l00724" name="l00724"></a><span class="lineno">  724</span>    <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost;</div>
<div class="line"><a id="l00725" name="l00725"></a><span class="lineno">  725</span>    <span class="keywordtype">char</span> *frame_rate = NULL, *max_frame_rate = NULL, *frame_aspect_ratio = NULL;</div>
<div class="line"><a id="l00726" name="l00726"></a><span class="lineno">  726</span> </div>
<div class="line"><a id="l00727" name="l00727"></a><span class="lineno">  727</span>    ost = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adf4cd9ede29ea5f0f637d4ddb25bfc51">new_output_stream</a>(mux, o, AVMEDIA_TYPE_VIDEO, ist);</div>
<div class="line"><a id="l00728" name="l00728"></a><span class="lineno">  728</span>    st  = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>;</div>
<div class="line"><a id="l00729" name="l00729"></a><span class="lineno">  729</span> </div>
<div class="line"><a id="l00730" name="l00730"></a><span class="lineno">  730</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(frame_rates, str, frame_rate, oc, st);</div>
<div class="line"><a id="l00731" name="l00731"></a><span class="lineno">  731</span>    <span class="keywordflow">if</span> (frame_rate &amp;&amp; av_parse_video_rate(&amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab13acc03a389653d882f221141f12ae3">frame_rate</a>, frame_rate) &lt; 0) {</div>
<div class="line"><a id="l00732" name="l00732"></a><span class="lineno">  732</span>        av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid framerate value: %s\n&quot;</span>, frame_rate);</div>
<div class="line"><a id="l00733" name="l00733"></a><span class="lineno">  733</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00734" name="l00734"></a><span class="lineno">  734</span>    }</div>
<div class="line"><a id="l00735" name="l00735"></a><span class="lineno">  735</span> </div>
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno">  736</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(max_frame_rates, str, max_frame_rate, oc, st);</div>
<div class="line"><a id="l00737" name="l00737"></a><span class="lineno">  737</span>    <span class="keywordflow">if</span> (max_frame_rate &amp;&amp; av_parse_video_rate(&amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a89138b534350318574ca78cdb1c4ab4a">max_frame_rate</a>, max_frame_rate) &lt; 0) {</div>
<div class="line"><a id="l00738" name="l00738"></a><span class="lineno">  738</span>        av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid maximum framerate value: %s\n&quot;</span>, max_frame_rate);</div>
<div class="line"><a id="l00739" name="l00739"></a><span class="lineno">  739</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00740" name="l00740"></a><span class="lineno">  740</span>    }</div>
<div class="line"><a id="l00741" name="l00741"></a><span class="lineno">  741</span> </div>
<div class="line"><a id="l00742" name="l00742"></a><span class="lineno">  742</span>    <span class="keywordflow">if</span> (frame_rate &amp;&amp; max_frame_rate) {</div>
<div class="line"><a id="l00743" name="l00743"></a><span class="lineno">  743</span>        av_log(ost, AV_LOG_ERROR, <span class="stringliteral">&quot;Only one of -fpsmax and -r can be set for a stream.\n&quot;</span>);</div>
<div class="line"><a id="l00744" name="l00744"></a><span class="lineno">  744</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00745" name="l00745"></a><span class="lineno">  745</span>    }</div>
<div class="line"><a id="l00746" name="l00746"></a><span class="lineno">  746</span> </div>
<div class="line"><a id="l00747" name="l00747"></a><span class="lineno">  747</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(frame_aspect_ratios, str, frame_aspect_ratio, oc, st);</div>
<div class="line"><a id="l00748" name="l00748"></a><span class="lineno">  748</span>    <span class="keywordflow">if</span> (frame_aspect_ratio) {</div>
<div class="line"><a id="l00749" name="l00749"></a><span class="lineno">  749</span>        AVRational q;</div>
<div class="line"><a id="l00750" name="l00750"></a><span class="lineno">  750</span>        <span class="keywordflow">if</span> (av_parse_ratio(&amp;q, frame_aspect_ratio, 255, 0, NULL) &lt; 0 ||</div>
<div class="line"><a id="l00751" name="l00751"></a><span class="lineno">  751</span>            q.num &lt;= 0 || q.den &lt;= 0) {</div>
<div class="line"><a id="l00752" name="l00752"></a><span class="lineno">  752</span>            av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid aspect ratio: %s\n&quot;</span>, frame_aspect_ratio);</div>
<div class="line"><a id="l00753" name="l00753"></a><span class="lineno">  753</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00754" name="l00754"></a><span class="lineno">  754</span>        }</div>
<div class="line"><a id="l00755" name="l00755"></a><span class="lineno">  755</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a363d95a998c8dffa3a493ccf39f39309">frame_aspect_ratio</a> = q;</div>
<div class="line"><a id="l00756" name="l00756"></a><span class="lineno">  756</span>    }</div>
<div class="line"><a id="l00757" name="l00757"></a><span class="lineno">  757</span> </div>
<div class="line"><a id="l00758" name="l00758"></a><span class="lineno">  758</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(filter_scripts, str, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#acbe9d7fddd3daaab6e9337099ec824f2">filters_script</a>, oc, st);</div>
<div class="line"><a id="l00759" name="l00759"></a><span class="lineno">  759</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(filters,        str, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac2cdba9dbd9a315fd3ea90cbfb634409">filters</a>,        oc, st);</div>
<div class="line"><a id="l00760" name="l00760"></a><span class="lineno">  760</span> </div>
<div class="line"><a id="l00761" name="l00761"></a><span class="lineno">  761</span>    <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>) {</div>
<div class="line"><a id="l00762" name="l00762"></a><span class="lineno">  762</span>        AVCodecContext *video_enc = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>;</div>
<div class="line"><a id="l00763" name="l00763"></a><span class="lineno">  763</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> *p = NULL, *fps_mode = NULL;</div>
<div class="line"><a id="l00764" name="l00764"></a><span class="lineno">  764</span>        <span class="keywordtype">char</span> *frame_size = NULL;</div>
<div class="line"><a id="l00765" name="l00765"></a><span class="lineno">  765</span>        <span class="keywordtype">char</span> *frame_pix_fmt = NULL;</div>
<div class="line"><a id="l00766" name="l00766"></a><span class="lineno">  766</span>        <span class="keywordtype">char</span> *intra_matrix = NULL, *inter_matrix = NULL;</div>
<div class="line"><a id="l00767" name="l00767"></a><span class="lineno">  767</span>        <span class="keywordtype">char</span> *chroma_intra_matrix = NULL;</div>
<div class="line"><a id="l00768" name="l00768"></a><span class="lineno">  768</span>        <span class="keywordtype">int</span> do_pass = 0;</div>
<div class="line"><a id="l00769" name="l00769"></a><span class="lineno">  769</span>        <span class="keywordtype">int</span> i;</div>
<div class="line"><a id="l00770" name="l00770"></a><span class="lineno">  770</span> </div>
<div class="line"><a id="l00771" name="l00771"></a><span class="lineno">  771</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(frame_sizes, str, frame_size, oc, st);</div>
<div class="line"><a id="l00772" name="l00772"></a><span class="lineno">  772</span>        <span class="keywordflow">if</span> (frame_size &amp;&amp; av_parse_video_size(&amp;video_enc-&gt;width, &amp;video_enc-&gt;height, frame_size) &lt; 0) {</div>
<div class="line"><a id="l00773" name="l00773"></a><span class="lineno">  773</span>            av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid frame size: %s.\n&quot;</span>, frame_size);</div>
<div class="line"><a id="l00774" name="l00774"></a><span class="lineno">  774</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00775" name="l00775"></a><span class="lineno">  775</span>        }</div>
<div class="line"><a id="l00776" name="l00776"></a><span class="lineno">  776</span> </div>
<div class="line"><a id="l00777" name="l00777"></a><span class="lineno">  777</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(frame_pix_fmts, str, frame_pix_fmt, oc, st);</div>
<div class="line"><a id="l00778" name="l00778"></a><span class="lineno">  778</span>        <span class="keywordflow">if</span> (frame_pix_fmt &amp;&amp; *frame_pix_fmt == <span class="charliteral">&#39;+&#39;</span>) {</div>
<div class="line"><a id="l00779" name="l00779"></a><span class="lineno">  779</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#af0ca53e6e06775f61dcc13af0a11ab82">keep_pix_fmt</a> = 1;</div>
<div class="line"><a id="l00780" name="l00780"></a><span class="lineno">  780</span>            <span class="keywordflow">if</span> (!*++frame_pix_fmt)</div>
<div class="line"><a id="l00781" name="l00781"></a><span class="lineno">  781</span>                frame_pix_fmt = NULL;</div>
<div class="line"><a id="l00782" name="l00782"></a><span class="lineno">  782</span>        }</div>
<div class="line"><a id="l00783" name="l00783"></a><span class="lineno">  783</span>        <span class="keywordflow">if</span> (frame_pix_fmt &amp;&amp; (video_enc-&gt;pix_fmt = av_get_pix_fmt(frame_pix_fmt)) == AV_PIX_FMT_NONE) {</div>
<div class="line"><a id="l00784" name="l00784"></a><span class="lineno">  784</span>            av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Unknown pixel format requested: %s.\n&quot;</span>, frame_pix_fmt);</div>
<div class="line"><a id="l00785" name="l00785"></a><span class="lineno">  785</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00786" name="l00786"></a><span class="lineno">  786</span>        }</div>
<div class="line"><a id="l00787" name="l00787"></a><span class="lineno">  787</span>        st-&gt;sample_aspect_ratio = video_enc-&gt;sample_aspect_ratio;</div>
<div class="line"><a id="l00788" name="l00788"></a><span class="lineno">  788</span> </div>
<div class="line"><a id="l00789" name="l00789"></a><span class="lineno">  789</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(intra_matrices, str, intra_matrix, oc, st);</div>
<div class="line"><a id="l00790" name="l00790"></a><span class="lineno">  790</span>        <span class="keywordflow">if</span> (intra_matrix) {</div>
<div class="line"><a id="l00791" name="l00791"></a><span class="lineno">  791</span>            <span class="keywordflow">if</span> (!(video_enc-&gt;intra_matrix = av_mallocz(<span class="keyword">sizeof</span>(*video_enc-&gt;intra_matrix) * 64)))</div>
<div class="line"><a id="l00792" name="l00792"></a><span class="lineno">  792</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l00793" name="l00793"></a><span class="lineno">  793</span>            <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aa19e3da070adc5abfe32fe9b5713455e">parse_matrix_coeffs</a>(ost, video_enc-&gt;intra_matrix, intra_matrix);</div>
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno">  794</span>        }</div>
<div class="line"><a id="l00795" name="l00795"></a><span class="lineno">  795</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(chroma_intra_matrices, str, chroma_intra_matrix, oc, st);</div>
<div class="line"><a id="l00796" name="l00796"></a><span class="lineno">  796</span>        <span class="keywordflow">if</span> (chroma_intra_matrix) {</div>
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno">  797</span>            uint16_t *p = av_mallocz(<span class="keyword">sizeof</span>(*video_enc-&gt;chroma_intra_matrix) * 64);</div>
<div class="line"><a id="l00798" name="l00798"></a><span class="lineno">  798</span>            <span class="keywordflow">if</span> (!p)</div>
<div class="line"><a id="l00799" name="l00799"></a><span class="lineno">  799</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l00800" name="l00800"></a><span class="lineno">  800</span>            video_enc-&gt;chroma_intra_matrix = p;</div>
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno">  801</span>            <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aa19e3da070adc5abfe32fe9b5713455e">parse_matrix_coeffs</a>(ost, p, chroma_intra_matrix);</div>
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno">  802</span>        }</div>
<div class="line"><a id="l00803" name="l00803"></a><span class="lineno">  803</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(inter_matrices, str, inter_matrix, oc, st);</div>
<div class="line"><a id="l00804" name="l00804"></a><span class="lineno">  804</span>        <span class="keywordflow">if</span> (inter_matrix) {</div>
<div class="line"><a id="l00805" name="l00805"></a><span class="lineno">  805</span>            <span class="keywordflow">if</span> (!(video_enc-&gt;inter_matrix = av_mallocz(<span class="keyword">sizeof</span>(*video_enc-&gt;inter_matrix) * 64)))</div>
<div class="line"><a id="l00806" name="l00806"></a><span class="lineno">  806</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l00807" name="l00807"></a><span class="lineno">  807</span>            <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aa19e3da070adc5abfe32fe9b5713455e">parse_matrix_coeffs</a>(ost, video_enc-&gt;inter_matrix, inter_matrix);</div>
<div class="line"><a id="l00808" name="l00808"></a><span class="lineno">  808</span>        }</div>
<div class="line"><a id="l00809" name="l00809"></a><span class="lineno">  809</span> </div>
<div class="line"><a id="l00810" name="l00810"></a><span class="lineno">  810</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(rc_overrides, str, p, oc, st);</div>
<div class="line"><a id="l00811" name="l00811"></a><span class="lineno">  811</span>        <span class="keywordflow">for</span> (i = 0; p; i++) {</div>
<div class="line"><a id="l00812" name="l00812"></a><span class="lineno">  812</span>            <span class="keywordtype">int</span> start, end, q;</div>
<div class="line"><a id="l00813" name="l00813"></a><span class="lineno">  813</span>            <span class="keywordtype">int</span> e = sscanf(p, <span class="stringliteral">&quot;%d,%d,%d&quot;</span>, &amp;start, &amp;end, &amp;q);</div>
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno">  814</span>            <span class="keywordflow">if</span> (e != 3) {</div>
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno">  815</span>                av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;error parsing rc_override\n&quot;</span>);</div>
<div class="line"><a id="l00816" name="l00816"></a><span class="lineno">  816</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00817" name="l00817"></a><span class="lineno">  817</span>            }</div>
<div class="line"><a id="l00818" name="l00818"></a><span class="lineno">  818</span>            video_enc-&gt;rc_override =</div>
<div class="line"><a id="l00819" name="l00819"></a><span class="lineno">  819</span>                av_realloc_array(video_enc-&gt;rc_override,</div>
<div class="line"><a id="l00820" name="l00820"></a><span class="lineno">  820</span>                                 i + 1, <span class="keyword">sizeof</span>(RcOverride));</div>
<div class="line"><a id="l00821" name="l00821"></a><span class="lineno">  821</span>            <span class="keywordflow">if</span> (!video_enc-&gt;rc_override) {</div>
<div class="line"><a id="l00822" name="l00822"></a><span class="lineno">  822</span>                av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Could not (re)allocate memory for rc_override.\n&quot;</span>);</div>
<div class="line"><a id="l00823" name="l00823"></a><span class="lineno">  823</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00824" name="l00824"></a><span class="lineno">  824</span>            }</div>
<div class="line"><a id="l00825" name="l00825"></a><span class="lineno">  825</span>            video_enc-&gt;rc_override[i].start_frame = start;</div>
<div class="line"><a id="l00826" name="l00826"></a><span class="lineno">  826</span>            video_enc-&gt;rc_override[i].end_frame   = end;</div>
<div class="line"><a id="l00827" name="l00827"></a><span class="lineno">  827</span>            <span class="keywordflow">if</span> (q &gt; 0) {</div>
<div class="line"><a id="l00828" name="l00828"></a><span class="lineno">  828</span>                video_enc-&gt;rc_override[i].qscale         = q;</div>
<div class="line"><a id="l00829" name="l00829"></a><span class="lineno">  829</span>                video_enc-&gt;rc_override[i].quality_factor = 1.0;</div>
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno">  830</span>            }</div>
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno">  831</span>            <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno">  832</span>                video_enc-&gt;rc_override[i].qscale         = 0;</div>
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno">  833</span>                video_enc-&gt;rc_override[i].quality_factor = -q/100.0;</div>
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno">  834</span>            }</div>
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno">  835</span>            p = strchr(p, <span class="charliteral">&#39;/&#39;</span>);</div>
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno">  836</span>            <span class="keywordflow">if</span> (p) p++;</div>
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno">  837</span>        }</div>
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno">  838</span>        video_enc-&gt;rc_override_count = i;</div>
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno">  839</span> </div>
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno">  840</span><span class="preprocessor">#if FFMPEG_OPT_PSNR</span></div>
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno">  841</span>        <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#ae1a832e0aee85dbc82c89e7f91b94619">do_psnr</a>) {</div>
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno">  842</span>            av_log(ost, AV_LOG_WARNING, <span class="stringliteral">&quot;The -psnr option is deprecated, use -flags +psnr\n&quot;</span>);</div>
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno">  843</span>            video_enc-&gt;flags|= AV_CODEC_FLAG_PSNR;</div>
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno">  844</span>        }</div>
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno">  845</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno">  846</span> </div>
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno">  847</span>        <span class="comment">/* two pass mode */</span></div>
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno">  848</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(pass, i, do_pass, oc, st);</div>
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno">  849</span>        <span class="keywordflow">if</span> (do_pass) {</div>
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno">  850</span>            <span class="keywordflow">if</span> (do_pass &amp; 1) {</div>
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno">  851</span>                video_enc-&gt;flags |= AV_CODEC_FLAG_PASS1;</div>
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno">  852</span>                av_dict_set(&amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#abf222748d6af0fb0c72fa6b77fe2294e">encoder_opts</a>, <span class="stringliteral">&quot;flags&quot;</span>, <span class="stringliteral">&quot;+pass1&quot;</span>, AV_DICT_APPEND);</div>
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno">  853</span>            }</div>
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno">  854</span>            <span class="keywordflow">if</span> (do_pass &amp; 2) {</div>
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno">  855</span>                video_enc-&gt;flags |= AV_CODEC_FLAG_PASS2;</div>
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno">  856</span>                av_dict_set(&amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#abf222748d6af0fb0c72fa6b77fe2294e">encoder_opts</a>, <span class="stringliteral">&quot;flags&quot;</span>, <span class="stringliteral">&quot;+pass2&quot;</span>, AV_DICT_APPEND);</div>
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno">  857</span>            }</div>
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno">  858</span>        }</div>
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno">  859</span> </div>
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno">  860</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(passlogfiles, str, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#afd6ee54ae3807e7bdaec44f2c12c99e1">logfile_prefix</a>, oc, st);</div>
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno">  861</span>        <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#afd6ee54ae3807e7bdaec44f2c12c99e1">logfile_prefix</a> &amp;&amp;</div>
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno">  862</span>            !(ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#afd6ee54ae3807e7bdaec44f2c12c99e1">logfile_prefix</a> = av_strdup(ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#afd6ee54ae3807e7bdaec44f2c12c99e1">logfile_prefix</a>)))</div>
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno">  863</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno">  864</span> </div>
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno">  865</span>        <span class="keywordflow">if</span> (do_pass) {</div>
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno">  866</span>            <span class="keywordtype">int</span> ost_idx = -1;</div>
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno">  867</span>            <span class="keywordtype">char</span> logfilename[1024];</div>
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno">  868</span>            FILE *f;</div>
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno">  869</span> </div>
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno">  870</span>            <span class="comment">/* compute this stream&#39;s global index */</span></div>
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno">  871</span>            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt;= ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#af608105788daa4300771669d992ef890">file_index</a>; i++)</div>
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno">  872</span>                ost_idx += <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a22c5e53407c3f14a8111e898dff42904">output_files</a>[i]-&gt;<a class="code hl_variable" href="../../d8/d78/fftools__ffprobe_8c.html#abad15c2aaf9c54ccddd8d8abf6bed069">nb_streams</a>;</div>
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno">  873</span> </div>
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno">  874</span>            snprintf(logfilename, <span class="keyword">sizeof</span>(logfilename), <span class="stringliteral">&quot;%s-%d.log&quot;</span>,</div>
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno">  875</span>                     ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#afd6ee54ae3807e7bdaec44f2c12c99e1">logfile_prefix</a> ? ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#afd6ee54ae3807e7bdaec44f2c12c99e1">logfile_prefix</a> :</div>
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno">  876</span>                                           <a class="code hl_define" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a4dd32a1942a804edb22f2e016406db41">DEFAULT_PASS_LOGFILENAME_PREFIX</a>,</div>
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno">  877</span>                     ost_idx);</div>
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno">  878</span>            <span class="keywordflow">if</span> (!strcmp(ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;codec-&gt;name, <span class="stringliteral">&quot;libx264&quot;</span>)) {</div>
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno">  879</span>                av_dict_set(&amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#abf222748d6af0fb0c72fa6b77fe2294e">encoder_opts</a>, <span class="stringliteral">&quot;stats&quot;</span>, logfilename, AV_DICT_DONT_OVERWRITE);</div>
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno">  880</span>            } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno">  881</span>                <span class="keywordflow">if</span> (video_enc-&gt;flags &amp; AV_CODEC_FLAG_PASS2) {</div>
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno">  882</span>                    <span class="keywordtype">char</span>  *logbuffer = <a class="code hl_function" href="../../d7/db3/fftools__ffmpeg_8h.html#aece5258804b85a3e9a48f050c915e5cc">file_read</a>(logfilename);</div>
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno">  883</span> </div>
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno">  884</span>                    <span class="keywordflow">if</span> (!logbuffer) {</div>
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno">  885</span>                        av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Error reading log file &#39;%s&#39; for pass-2 encoding\n&quot;</span>,</div>
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno">  886</span>                               logfilename);</div>
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno">  887</span>                        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno">  888</span>                    }</div>
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno">  889</span>                    video_enc-&gt;stats_in = logbuffer;</div>
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno">  890</span>                }</div>
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno">  891</span>                <span class="keywordflow">if</span> (video_enc-&gt;flags &amp; AV_CODEC_FLAG_PASS1) {</div>
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno">  892</span>                    f = <a class="code hl_function" href="../../d1/d9f/fftools__fopen__utf8_8h.html#a3eed39c4bd5135d3629a46f9f2c65b4b">fopen_utf8</a>(logfilename, <span class="stringliteral">&quot;wb&quot;</span>);</div>
<div class="line"><a id="l00893" name="l00893"></a><span class="lineno">  893</span>                    <span class="keywordflow">if</span> (!f) {</div>
<div class="line"><a id="l00894" name="l00894"></a><span class="lineno">  894</span>                        av_log(ost, AV_LOG_FATAL,</div>
<div class="line"><a id="l00895" name="l00895"></a><span class="lineno">  895</span>                               <span class="stringliteral">&quot;Cannot write log file &#39;%s&#39; for pass-1 encoding: %s\n&quot;</span>,</div>
<div class="line"><a id="l00896" name="l00896"></a><span class="lineno">  896</span>                               logfilename, strerror(errno));</div>
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno">  897</span>                        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00898" name="l00898"></a><span class="lineno">  898</span>                    }</div>
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno">  899</span>                    ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#af1ef91b1ddb70244dd37415f774e025b">logfile</a> = f;</div>
<div class="line"><a id="l00900" name="l00900"></a><span class="lineno">  900</span>                }</div>
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno">  901</span>            }</div>
<div class="line"><a id="l00902" name="l00902"></a><span class="lineno">  902</span>        }</div>
<div class="line"><a id="l00903" name="l00903"></a><span class="lineno">  903</span> </div>
<div class="line"><a id="l00904" name="l00904"></a><span class="lineno">  904</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(force_fps, i, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a51858c10bfe635eb784e3651e6d494f8">force_fps</a>, oc, st);</div>
<div class="line"><a id="l00905" name="l00905"></a><span class="lineno">  905</span> </div>
<div class="line"><a id="l00906" name="l00906"></a><span class="lineno">  906</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a236bf5647b00c43936bda537db39ec26">top_field_first</a> = -1;</div>
<div class="line"><a id="l00907" name="l00907"></a><span class="lineno">  907</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(top_field_first, i, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a236bf5647b00c43936bda537db39ec26">top_field_first</a>, oc, st);</div>
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno">  908</span> </div>
<div class="line"><a id="l00909" name="l00909"></a><span class="lineno">  909</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">vsync_method</a> = <a class="code hl_variable" href="../../d7/db3/fftools__ffmpeg_8h.html#a24d29f7291e9771cfc406580536e1aa6">video_sync_method</a>;</div>
<div class="line"><a id="l00910" name="l00910"></a><span class="lineno">  910</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(fps_mode, str, fps_mode, oc, st);</div>
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno">  911</span>        <span class="keywordflow">if</span> (fps_mode)</div>
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno">  912</span>            <a class="code hl_function" href="../../d7/db3/fftools__ffmpeg_8h.html#a1e6653dff65cbd9baaf18f681f27e865">parse_and_set_vsync</a>(fps_mode, &amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">vsync_method</a>, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#af608105788daa4300771669d992ef890">file_index</a>, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ae22fe6ee1999d45be0d8722d04294a22">index</a>, 0);</div>
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno">  913</span> </div>
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno">  914</span>        <span class="keywordflow">if</span> ((ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab13acc03a389653d882f221141f12ae3">frame_rate</a>.num || ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a89138b534350318574ca78cdb1c4ab4a">max_frame_rate</a>.num) &amp;&amp;</div>
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno">  915</span>            !(ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">vsync_method</a> == <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34a591ae9ea87e3db92fa4bf7d1dbbdbd78">VSYNC_AUTO</a> ||</div>
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno">  916</span>              ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">vsync_method</a> == <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34ab4d18d4760ad6bf1ec3d9f4872249de1">VSYNC_CFR</a> || ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">vsync_method</a> == <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34ad51587830d4a754f82cde253cd429c63">VSYNC_VSCFR</a>)) {</div>
<div class="line"><a id="l00917" name="l00917"></a><span class="lineno">  917</span>            av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;One of -r/-fpsmax was specified &quot;</span></div>
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno">  918</span>                   <span class="stringliteral">&quot;together a non-CFR -vsync/-fps_mode. This is contradictory.\n&quot;</span>);</div>
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno">  919</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno">  920</span>        }</div>
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno">  921</span> </div>
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno">  922</span>        <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">vsync_method</a> == <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34a591ae9ea87e3db92fa4bf7d1dbbdbd78">VSYNC_AUTO</a>) {</div>
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno">  923</span>            <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab13acc03a389653d882f221141f12ae3">frame_rate</a>.num || ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a89138b534350318574ca78cdb1c4ab4a">max_frame_rate</a>.num) {</div>
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno">  924</span>                ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">vsync_method</a> = <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34ab4d18d4760ad6bf1ec3d9f4872249de1">VSYNC_CFR</a>;</div>
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno">  925</span>            } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(oc-&gt;oformat-&gt;name, <span class="stringliteral">&quot;avi&quot;</span>)) {</div>
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno">  926</span>                ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">vsync_method</a> = <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34a303341febeffec9a9832569259ac9176">VSYNC_VFR</a>;</div>
<div class="line"><a id="l00927" name="l00927"></a><span class="lineno">  927</span>            } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00928" name="l00928"></a><span class="lineno">  928</span>                ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">vsync_method</a> = (oc-&gt;oformat-&gt;flags &amp; AVFMT_VARIABLE_FPS)       ?</div>
<div class="line"><a id="l00929" name="l00929"></a><span class="lineno">  929</span>                                     ((oc-&gt;oformat-&gt;flags &amp; AVFMT_NOTIMESTAMPS) ?</div>
<div class="line"><a id="l00930" name="l00930"></a><span class="lineno">  930</span>                                      <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34a8cf889340d51141b5d64ef537458e7ed">VSYNC_PASSTHROUGH</a> : <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34a303341febeffec9a9832569259ac9176">VSYNC_VFR</a>)                :</div>
<div class="line"><a id="l00931" name="l00931"></a><span class="lineno">  931</span>                                     <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34ab4d18d4760ad6bf1ec3d9f4872249de1">VSYNC_CFR</a>;</div>
<div class="line"><a id="l00932" name="l00932"></a><span class="lineno">  932</span>            }</div>
<div class="line"><a id="l00933" name="l00933"></a><span class="lineno">  933</span> </div>
<div class="line"><a id="l00934" name="l00934"></a><span class="lineno">  934</span>            <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a> &amp;&amp; ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">vsync_method</a> == <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34ab4d18d4760ad6bf1ec3d9f4872249de1">VSYNC_CFR</a>) {</div>
<div class="line"><a id="l00935" name="l00935"></a><span class="lineno">  935</span>                <span class="keyword">const</span> <a class="code hl_struct" href="../../d8/d99/struct_input_file.html">InputFile</a> *ifile = <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a8815f40afdcda266b01da4b3137a99a3">input_files</a>[ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#ad47d834630eee2dca258aa449fb1df47">file_index</a>];</div>
<div class="line"><a id="l00936" name="l00936"></a><span class="lineno">  936</span> </div>
<div class="line"><a id="l00937" name="l00937"></a><span class="lineno">  937</span>                <span class="keywordflow">if</span> (ifile-&gt;<a class="code hl_variable" href="../../d8/d99/struct_input_file.html#afee3292b7b58207fe6fd91c8127fac19">nb_streams</a> == 1 &amp;&amp; ifile-&gt;<a class="code hl_variable" href="../../d8/d99/struct_input_file.html#a4ffe49e7403ae36ac4bdff5a7a0a3486">input_ts_offset</a> == 0)</div>
<div class="line"><a id="l00938" name="l00938"></a><span class="lineno">  938</span>                    ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">vsync_method</a> = <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34ad51587830d4a754f82cde253cd429c63">VSYNC_VSCFR</a>;</div>
<div class="line"><a id="l00939" name="l00939"></a><span class="lineno">  939</span>            }</div>
<div class="line"><a id="l00940" name="l00940"></a><span class="lineno">  940</span> </div>
<div class="line"><a id="l00941" name="l00941"></a><span class="lineno">  941</span>            <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">vsync_method</a> == <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34ab4d18d4760ad6bf1ec3d9f4872249de1">VSYNC_CFR</a> &amp;&amp; <a class="code hl_variable" href="../../d7/db3/fftools__ffmpeg_8h.html#a4840dc6953824a08972501cff95620e5">copy_ts</a>) {</div>
<div class="line"><a id="l00942" name="l00942"></a><span class="lineno">  942</span>                ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">vsync_method</a> = <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34ad51587830d4a754f82cde253cd429c63">VSYNC_VSCFR</a>;</div>
<div class="line"><a id="l00943" name="l00943"></a><span class="lineno">  943</span>            }</div>
<div class="line"><a id="l00944" name="l00944"></a><span class="lineno">  944</span>        }</div>
<div class="line"><a id="l00945" name="l00945"></a><span class="lineno">  945</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a9cd48cbdf903d5bfee1b9c774e5cd46e">is_cfr</a> = (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">vsync_method</a> == <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34ab4d18d4760ad6bf1ec3d9f4872249de1">VSYNC_CFR</a> || ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">vsync_method</a> == <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34ad51587830d4a754f82cde253cd429c63">VSYNC_VSCFR</a>);</div>
<div class="line"><a id="l00946" name="l00946"></a><span class="lineno">  946</span> </div>
<div class="line"><a id="l00947" name="l00947"></a><span class="lineno">  947</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac35ecb04b8b6ca22d10180918de95be4">avfilter</a> = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#af21bd449156e9d7858ed31ffb7b68fe7">get_ost_filters</a>(o, oc, ost);</div>
<div class="line"><a id="l00948" name="l00948"></a><span class="lineno">  948</span>        <span class="keywordflow">if</span> (!ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac35ecb04b8b6ca22d10180918de95be4">avfilter</a>)</div>
<div class="line"><a id="l00949" name="l00949"></a><span class="lineno">  949</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00950" name="l00950"></a><span class="lineno">  950</span> </div>
<div class="line"><a id="l00951" name="l00951"></a><span class="lineno">  951</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a4a1859416457382b2ec12a7fac7b4220">last_frame</a> = av_frame_alloc();</div>
<div class="line"><a id="l00952" name="l00952"></a><span class="lineno">  952</span>        <span class="keywordflow">if</span> (!ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a4a1859416457382b2ec12a7fac7b4220">last_frame</a>)</div>
<div class="line"><a id="l00953" name="l00953"></a><span class="lineno">  953</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l00954" name="l00954"></a><span class="lineno">  954</span>    } <span class="keywordflow">else</span></div>
<div class="line"><a id="l00955" name="l00955"></a><span class="lineno">  955</span>        <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adbf7f4b1b1d79fe7c8830654ecc55e1b">check_streamcopy_filters</a>(o, oc, ost, AVMEDIA_TYPE_VIDEO);</div>
<div class="line"><a id="l00956" name="l00956"></a><span class="lineno">  956</span> </div>
<div class="line"><a id="l00957" name="l00957"></a><span class="lineno">  957</span>    <span class="keywordflow">return</span> ost;</div>
<div class="line"><a id="l00958" name="l00958"></a><span class="lineno">  958</span>}</div>
<div class="line"><a id="l00959" name="l00959"></a><span class="lineno">  959</span> </div>
<div class="line"><a id="l00960" name="l00960"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3b4511df39c54f827ca99606a5aa98f6">  960</a></span><span class="keyword">static</span> <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *<a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3b4511df39c54f827ca99606a5aa98f6">new_audio_stream</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o, <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *ist)</div>
<div class="line"><a id="l00961" name="l00961"></a><span class="lineno">  961</span>{</div>
<div class="line"><a id="l00962" name="l00962"></a><span class="lineno">  962</span>    AVFormatContext *oc = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>;</div>
<div class="line"><a id="l00963" name="l00963"></a><span class="lineno">  963</span>    AVStream *st;</div>
<div class="line"><a id="l00964" name="l00964"></a><span class="lineno">  964</span>    <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost;</div>
<div class="line"><a id="l00965" name="l00965"></a><span class="lineno">  965</span> </div>
<div class="line"><a id="l00966" name="l00966"></a><span class="lineno">  966</span>    ost = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adf4cd9ede29ea5f0f637d4ddb25bfc51">new_output_stream</a>(mux, o, AVMEDIA_TYPE_AUDIO, ist);</div>
<div class="line"><a id="l00967" name="l00967"></a><span class="lineno">  967</span>    st  = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>;</div>
<div class="line"><a id="l00968" name="l00968"></a><span class="lineno">  968</span> </div>
<div class="line"><a id="l00969" name="l00969"></a><span class="lineno">  969</span> </div>
<div class="line"><a id="l00970" name="l00970"></a><span class="lineno">  970</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(filter_scripts, str, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#acbe9d7fddd3daaab6e9337099ec824f2">filters_script</a>, oc, st);</div>
<div class="line"><a id="l00971" name="l00971"></a><span class="lineno">  971</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(filters,        str, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac2cdba9dbd9a315fd3ea90cbfb634409">filters</a>,        oc, st);</div>
<div class="line"><a id="l00972" name="l00972"></a><span class="lineno">  972</span> </div>
<div class="line"><a id="l00973" name="l00973"></a><span class="lineno">  973</span>    <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>) {</div>
<div class="line"><a id="l00974" name="l00974"></a><span class="lineno">  974</span>        AVCodecContext *audio_enc = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>;</div>
<div class="line"><a id="l00975" name="l00975"></a><span class="lineno">  975</span>        <span class="keywordtype">int</span> channels = 0;</div>
<div class="line"><a id="l00976" name="l00976"></a><span class="lineno">  976</span>        <span class="keywordtype">char</span> *layout = NULL;</div>
<div class="line"><a id="l00977" name="l00977"></a><span class="lineno">  977</span>        <span class="keywordtype">char</span> *sample_fmt = NULL;</div>
<div class="line"><a id="l00978" name="l00978"></a><span class="lineno">  978</span> </div>
<div class="line"><a id="l00979" name="l00979"></a><span class="lineno">  979</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(audio_channels, i, channels, oc, st);</div>
<div class="line"><a id="l00980" name="l00980"></a><span class="lineno">  980</span>        <span class="keywordflow">if</span> (channels) {</div>
<div class="line"><a id="l00981" name="l00981"></a><span class="lineno">  981</span>            audio_enc-&gt;ch_layout.order       = AV_CHANNEL_ORDER_UNSPEC;</div>
<div class="line"><a id="l00982" name="l00982"></a><span class="lineno">  982</span>            audio_enc-&gt;ch_layout.nb_channels = channels;</div>
<div class="line"><a id="l00983" name="l00983"></a><span class="lineno">  983</span>        }</div>
<div class="line"><a id="l00984" name="l00984"></a><span class="lineno">  984</span> </div>
<div class="line"><a id="l00985" name="l00985"></a><span class="lineno">  985</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(audio_ch_layouts, str, layout, oc, st);</div>
<div class="line"><a id="l00986" name="l00986"></a><span class="lineno">  986</span>        <span class="keywordflow">if</span> (layout) {</div>
<div class="line"><a id="l00987" name="l00987"></a><span class="lineno">  987</span>            <span class="keywordflow">if</span> (av_channel_layout_from_string(&amp;audio_enc-&gt;ch_layout, layout) &lt; 0) {</div>
<div class="line"><a id="l00988" name="l00988"></a><span class="lineno">  988</span><span class="preprocessor">#if FF_API_OLD_CHANNEL_LAYOUT</span></div>
<div class="line"><a id="l00989" name="l00989"></a><span class="lineno">  989</span>                uint64_t mask;</div>
<div class="line"><a id="l00990" name="l00990"></a><span class="lineno">  990</span>                AV_NOWARN_DEPRECATED({</div>
<div class="line"><a id="l00991" name="l00991"></a><span class="lineno">  991</span>                mask = av_get_channel_layout(layout);</div>
<div class="line"><a id="l00992" name="l00992"></a><span class="lineno">  992</span>                })</div>
<div class="line"><a id="l00993" name="l00993"></a><span class="lineno">  993</span>                <span class="keywordflow">if</span> (!mask) {</div>
<div class="line"><a id="l00994" name="l00994"></a><span class="lineno">  994</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00995" name="l00995"></a><span class="lineno">  995</span>                    av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Unknown channel layout: %s\n&quot;</span>, layout);</div>
<div class="line"><a id="l00996" name="l00996"></a><span class="lineno">  996</span>                    <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l00997" name="l00997"></a><span class="lineno">  997</span><span class="preprocessor">#if FF_API_OLD_CHANNEL_LAYOUT</span></div>
<div class="line"><a id="l00998" name="l00998"></a><span class="lineno">  998</span>                }</div>
<div class="line"><a id="l00999" name="l00999"></a><span class="lineno">  999</span>                av_log(ost, AV_LOG_WARNING, <span class="stringliteral">&quot;Channel layout &#39;%s&#39; uses a deprecated syntax.\n&quot;</span>,</div>
<div class="line"><a id="l01000" name="l01000"></a><span class="lineno"> 1000</span>                       layout);</div>
<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span>                av_channel_layout_from_mask(&amp;audio_enc-&gt;ch_layout, mask);</div>
<div class="line"><a id="l01002" name="l01002"></a><span class="lineno"> 1002</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l01003" name="l01003"></a><span class="lineno"> 1003</span>            }</div>
<div class="line"><a id="l01004" name="l01004"></a><span class="lineno"> 1004</span>        }</div>
<div class="line"><a id="l01005" name="l01005"></a><span class="lineno"> 1005</span> </div>
<div class="line"><a id="l01006" name="l01006"></a><span class="lineno"> 1006</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(sample_fmts, str, sample_fmt, oc, st);</div>
<div class="line"><a id="l01007" name="l01007"></a><span class="lineno"> 1007</span>        <span class="keywordflow">if</span> (sample_fmt &amp;&amp;</div>
<div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span>            (audio_enc-&gt;sample_fmt = av_get_sample_fmt(sample_fmt)) == AV_SAMPLE_FMT_NONE) {</div>
<div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span>            av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid sample format &#39;%s&#39;\n&quot;</span>, sample_fmt);</div>
<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"> 1010</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01011" name="l01011"></a><span class="lineno"> 1011</span>        }</div>
<div class="line"><a id="l01012" name="l01012"></a><span class="lineno"> 1012</span> </div>
<div class="line"><a id="l01013" name="l01013"></a><span class="lineno"> 1013</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(audio_sample_rate, i, audio_enc-&gt;sample_rate, oc, st);</div>
<div class="line"><a id="l01014" name="l01014"></a><span class="lineno"> 1014</span> </div>
<div class="line"><a id="l01015" name="l01015"></a><span class="lineno"> 1015</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(apad, str, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a76d4d92835e9dd3d0619e79e4fb762c6">apad</a>, oc, st);</div>
<div class="line"><a id="l01016" name="l01016"></a><span class="lineno"> 1016</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a76d4d92835e9dd3d0619e79e4fb762c6">apad</a> = av_strdup(ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a76d4d92835e9dd3d0619e79e4fb762c6">apad</a>);</div>
<div class="line"><a id="l01017" name="l01017"></a><span class="lineno"> 1017</span> </div>
<div class="line"><a id="l01018" name="l01018"></a><span class="lineno"> 1018</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac35ecb04b8b6ca22d10180918de95be4">avfilter</a> = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#af21bd449156e9d7858ed31ffb7b68fe7">get_ost_filters</a>(o, oc, ost);</div>
<div class="line"><a id="l01019" name="l01019"></a><span class="lineno"> 1019</span>        <span class="keywordflow">if</span> (!ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac35ecb04b8b6ca22d10180918de95be4">avfilter</a>)</div>
<div class="line"><a id="l01020" name="l01020"></a><span class="lineno"> 1020</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01021" name="l01021"></a><span class="lineno"> 1021</span> </div>
<div class="line"><a id="l01022" name="l01022"></a><span class="lineno"> 1022</span><span class="preprocessor">#if FFMPEG_OPT_MAP_CHANNEL</span></div>
<div class="line"><a id="l01023" name="l01023"></a><span class="lineno"> 1023</span>        <span class="comment">/* check for channel mapping for this audio stream */</span></div>
<div class="line"><a id="l01024" name="l01024"></a><span class="lineno"> 1024</span>        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> n = 0; n &lt; o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a2e67c5ed2e0cc9b5cd4a5ff9895d7fc1">nb_audio_channel_maps</a>; n++) {</div>
<div class="line"><a id="l01025" name="l01025"></a><span class="lineno"> 1025</span>            <a class="code hl_struct" href="../../d6/d2c/struct_audio_channel_map.html">AudioChannelMap</a> *map = &amp;o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#afbfd63b5be2c974c0a2dbf1911ab678b">audio_channel_maps</a>[n];</div>
<div class="line"><a id="l01026" name="l01026"></a><span class="lineno"> 1026</span>            <span class="keywordflow">if</span> ((map-&gt;<a class="code hl_variable" href="../../d6/d2c/struct_audio_channel_map.html#a8174d989c9c3c6bacd2ff229900e3edf">ofile_idx</a>   == -1 || ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#af608105788daa4300771669d992ef890">file_index</a> == map-&gt;<a class="code hl_variable" href="../../d6/d2c/struct_audio_channel_map.html#a8174d989c9c3c6bacd2ff229900e3edf">ofile_idx</a>) &amp;&amp;</div>
<div class="line"><a id="l01027" name="l01027"></a><span class="lineno"> 1027</span>                (map-&gt;<a class="code hl_variable" href="../../d6/d2c/struct_audio_channel_map.html#a3e51062d85dde52c40982e5af3b4bc03">ostream_idx</a> == -1 || ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;index  == map-&gt;<a class="code hl_variable" href="../../d6/d2c/struct_audio_channel_map.html#a3e51062d85dde52c40982e5af3b4bc03">ostream_idx</a>)) {</div>
<div class="line"><a id="l01028" name="l01028"></a><span class="lineno"> 1028</span>                <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *ist;</div>
<div class="line"><a id="l01029" name="l01029"></a><span class="lineno"> 1029</span> </div>
<div class="line"><a id="l01030" name="l01030"></a><span class="lineno"> 1030</span>                <span class="keywordflow">if</span> (map-&gt;<a class="code hl_variable" href="../../d6/d2c/struct_audio_channel_map.html#a8f4845075e76274d0c577c258b24d0bf">channel_idx</a> == -1) {</div>
<div class="line"><a id="l01031" name="l01031"></a><span class="lineno"> 1031</span>                    ist = NULL;</div>
<div class="line"><a id="l01032" name="l01032"></a><span class="lineno"> 1032</span>                } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>) {</div>
<div class="line"><a id="l01033" name="l01033"></a><span class="lineno"> 1033</span>                    av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Cannot determine input stream for channel mapping %d.%d\n&quot;</span>,</div>
<div class="line"><a id="l01034" name="l01034"></a><span class="lineno"> 1034</span>                           ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#af608105788daa4300771669d992ef890">file_index</a>, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;index);</div>
<div class="line"><a id="l01035" name="l01035"></a><span class="lineno"> 1035</span>                    <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l01036" name="l01036"></a><span class="lineno"> 1036</span>                } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01037" name="l01037"></a><span class="lineno"> 1037</span>                    ist = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>;</div>
<div class="line"><a id="l01038" name="l01038"></a><span class="lineno"> 1038</span>                }</div>
<div class="line"><a id="l01039" name="l01039"></a><span class="lineno"> 1039</span> </div>
<div class="line"><a id="l01040" name="l01040"></a><span class="lineno"> 1040</span>                <span class="keywordflow">if</span> (!ist || (ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#ad47d834630eee2dca258aa449fb1df47">file_index</a> == map-&gt;<a class="code hl_variable" href="../../d6/d2c/struct_audio_channel_map.html#a81b4cfad9b7f201c8a0be6a030688839">file_idx</a> &amp;&amp; ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;index == map-&gt;<a class="code hl_variable" href="../../d6/d2c/struct_audio_channel_map.html#a32f90014a8e83a47c8ef3893bc1c100e">stream_idx</a>)) {</div>
<div class="line"><a id="l01041" name="l01041"></a><span class="lineno"> 1041</span>                    <span class="keywordflow">if</span> (av_reallocp_array(&amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a343c63e0cf4f0aca4fb4727b2e6fa829">audio_channels_map</a>,</div>
<div class="line"><a id="l01042" name="l01042"></a><span class="lineno"> 1042</span>                                          ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a50bc46d7c7636e2abbfe066872d0c1d0">audio_channels_mapped</a> + 1,</div>
<div class="line"><a id="l01043" name="l01043"></a><span class="lineno"> 1043</span>                                          <span class="keyword">sizeof</span>(*ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a343c63e0cf4f0aca4fb4727b2e6fa829">audio_channels_map</a>)</div>
<div class="line"><a id="l01044" name="l01044"></a><span class="lineno"> 1044</span>                                          ) &lt; 0 )</div>
<div class="line"><a id="l01045" name="l01045"></a><span class="lineno"> 1045</span>                        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span> </div>
<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span>                    ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a343c63e0cf4f0aca4fb4727b2e6fa829">audio_channels_map</a>[ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a50bc46d7c7636e2abbfe066872d0c1d0">audio_channels_mapped</a>++] = map-&gt;<a class="code hl_variable" href="../../d6/d2c/struct_audio_channel_map.html#a8f4845075e76274d0c577c258b24d0bf">channel_idx</a>;</div>
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span>                }</div>
<div class="line"><a id="l01049" name="l01049"></a><span class="lineno"> 1049</span>            }</div>
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"> 1050</span>        }</div>
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span>    } <span class="keywordflow">else</span></div>
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span>        <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adbf7f4b1b1d79fe7c8830654ecc55e1b">check_streamcopy_filters</a>(o, oc, ost, AVMEDIA_TYPE_AUDIO);</div>
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span> </div>
<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span>    <span class="keywordflow">return</span> ost;</div>
<div class="line"><a id="l01056" name="l01056"></a><span class="lineno"> 1056</span>}</div>
<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"> 1057</span> </div>
<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3758af9502257907b0636677392acc67"> 1058</a></span><span class="keyword">static</span> <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *<a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3758af9502257907b0636677392acc67">new_data_stream</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o, <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *ist)</div>
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span>{</div>
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span>    <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost;</div>
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> </div>
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span>    ost = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adf4cd9ede29ea5f0f637d4ddb25bfc51">new_output_stream</a>(mux, o, AVMEDIA_TYPE_DATA, ist);</div>
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span>    <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>) {</div>
<div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span>        av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Data stream encoding not supported yet (only streamcopy)\n&quot;</span>);</div>
<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span>    }</div>
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span> </div>
<div class="line"><a id="l01068" name="l01068"></a><span class="lineno"> 1068</span>    <span class="keywordflow">return</span> ost;</div>
<div class="line"><a id="l01069" name="l01069"></a><span class="lineno"> 1069</span>}</div>
<div class="line"><a id="l01070" name="l01070"></a><span class="lineno"> 1070</span> </div>
<div class="line"><a id="l01071" name="l01071"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a77c3b5c45780ef300e59d94bddc7a8f9"> 1071</a></span><span class="keyword">static</span> <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *<a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a77c3b5c45780ef300e59d94bddc7a8f9">new_unknown_stream</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o, <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *ist)</div>
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span>{</div>
<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span>    <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost;</div>
<div class="line"><a id="l01074" name="l01074"></a><span class="lineno"> 1074</span> </div>
<div class="line"><a id="l01075" name="l01075"></a><span class="lineno"> 1075</span>    ost = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adf4cd9ede29ea5f0f637d4ddb25bfc51">new_output_stream</a>(mux, o, AVMEDIA_TYPE_UNKNOWN, ist);</div>
<div class="line"><a id="l01076" name="l01076"></a><span class="lineno"> 1076</span>    <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>) {</div>
<div class="line"><a id="l01077" name="l01077"></a><span class="lineno"> 1077</span>        av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Unknown stream encoding not supported yet (only streamcopy)\n&quot;</span>);</div>
<div class="line"><a id="l01078" name="l01078"></a><span class="lineno"> 1078</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01079" name="l01079"></a><span class="lineno"> 1079</span>    }</div>
<div class="line"><a id="l01080" name="l01080"></a><span class="lineno"> 1080</span> </div>
<div class="line"><a id="l01081" name="l01081"></a><span class="lineno"> 1081</span>    <span class="keywordflow">return</span> ost;</div>
<div class="line"><a id="l01082" name="l01082"></a><span class="lineno"> 1082</span>}</div>
<div class="line"><a id="l01083" name="l01083"></a><span class="lineno"> 1083</span> </div>
<div class="line"><a id="l01084" name="l01084"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9a9fcec0683225b551dc440fe87bc234"> 1084</a></span><span class="keyword">static</span> <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *<a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9a9fcec0683225b551dc440fe87bc234">new_attachment_stream</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o, <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *ist)</div>
<div class="line"><a id="l01085" name="l01085"></a><span class="lineno"> 1085</span>{</div>
<div class="line"><a id="l01086" name="l01086"></a><span class="lineno"> 1086</span>    <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adf4cd9ede29ea5f0f637d4ddb25bfc51">new_output_stream</a>(mux, o, AVMEDIA_TYPE_ATTACHMENT, ist);</div>
<div class="line"><a id="l01087" name="l01087"></a><span class="lineno"> 1087</span>    ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a2cb215b02eb510c4b19947063a5d5bd8">finished</a>    = 1;</div>
<div class="line"><a id="l01088" name="l01088"></a><span class="lineno"> 1088</span>    <span class="keywordflow">return</span> ost;</div>
<div class="line"><a id="l01089" name="l01089"></a><span class="lineno"> 1089</span>}</div>
<div class="line"><a id="l01090" name="l01090"></a><span class="lineno"> 1090</span> </div>
<div class="line"><a id="l01091" name="l01091"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ad3d97d53da94ca5c2286179d501511a6"> 1091</a></span><span class="keyword">static</span> <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *<a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ad3d97d53da94ca5c2286179d501511a6">new_subtitle_stream</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o, <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *ist)</div>
<div class="line"><a id="l01092" name="l01092"></a><span class="lineno"> 1092</span>{</div>
<div class="line"><a id="l01093" name="l01093"></a><span class="lineno"> 1093</span>    AVStream *st;</div>
<div class="line"><a id="l01094" name="l01094"></a><span class="lineno"> 1094</span>    <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost;</div>
<div class="line"><a id="l01095" name="l01095"></a><span class="lineno"> 1095</span> </div>
<div class="line"><a id="l01096" name="l01096"></a><span class="lineno"> 1096</span>    ost = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adf4cd9ede29ea5f0f637d4ddb25bfc51">new_output_stream</a>(mux, o, AVMEDIA_TYPE_SUBTITLE, ist);</div>
<div class="line"><a id="l01097" name="l01097"></a><span class="lineno"> 1097</span>    st  = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>;</div>
<div class="line"><a id="l01098" name="l01098"></a><span class="lineno"> 1098</span> </div>
<div class="line"><a id="l01099" name="l01099"></a><span class="lineno"> 1099</span>    <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>) {</div>
<div class="line"><a id="l01100" name="l01100"></a><span class="lineno"> 1100</span>        AVCodecContext *subtitle_enc = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>;</div>
<div class="line"><a id="l01101" name="l01101"></a><span class="lineno"> 1101</span>        <span class="keywordtype">char</span> *frame_size = NULL;</div>
<div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span> </div>
<div class="line"><a id="l01103" name="l01103"></a><span class="lineno"> 1103</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(frame_sizes, str, frame_size, mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>, st);</div>
<div class="line"><a id="l01104" name="l01104"></a><span class="lineno"> 1104</span>        <span class="keywordflow">if</span> (frame_size &amp;&amp; av_parse_video_size(&amp;subtitle_enc-&gt;width, &amp;subtitle_enc-&gt;height, frame_size) &lt; 0) {</div>
<div class="line"><a id="l01105" name="l01105"></a><span class="lineno"> 1105</span>            av_log(ost, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid frame size: %s.\n&quot;</span>, frame_size);</div>
<div class="line"><a id="l01106" name="l01106"></a><span class="lineno"> 1106</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01107" name="l01107"></a><span class="lineno"> 1107</span>        }</div>
<div class="line"><a id="l01108" name="l01108"></a><span class="lineno"> 1108</span>    }</div>
<div class="line"><a id="l01109" name="l01109"></a><span class="lineno"> 1109</span> </div>
<div class="line"><a id="l01110" name="l01110"></a><span class="lineno"> 1110</span>    <span class="keywordflow">return</span> ost;</div>
<div class="line"><a id="l01111" name="l01111"></a><span class="lineno"> 1111</span>}</div>
<div class="line"><a id="l01112" name="l01112"></a><span class="lineno"> 1112</span> </div>
<div class="line"><a id="l01113" name="l01113"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3a72cc131ee4055931b3f0365bb29243"> 1113</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3a72cc131ee4055931b3f0365bb29243">init_output_filter</a>(<a class="code hl_struct" href="../../d0/d0f/struct_output_filter.html">OutputFilter</a> *ofilter, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o,</div>
<div class="line"><a id="l01114" name="l01114"></a><span class="lineno"> 1114</span>                               <a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux)</div>
<div class="line"><a id="l01115" name="l01115"></a><span class="lineno"> 1115</span>{</div>
<div class="line"><a id="l01116" name="l01116"></a><span class="lineno"> 1116</span>    <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost;</div>
<div class="line"><a id="l01117" name="l01117"></a><span class="lineno"> 1117</span> </div>
<div class="line"><a id="l01118" name="l01118"></a><span class="lineno"> 1118</span>    <span class="keywordflow">switch</span> (ofilter-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#aed4c46a5df26ff71f3f718a0056af294">type</a>) {</div>
<div class="line"><a id="l01119" name="l01119"></a><span class="lineno"> 1119</span>    <span class="keywordflow">case</span> AVMEDIA_TYPE_VIDEO: ost = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a4fc06433569e921747604ffe642b65ff">new_video_stream</a>(mux, o, NULL); <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01120" name="l01120"></a><span class="lineno"> 1120</span>    <span class="keywordflow">case</span> AVMEDIA_TYPE_AUDIO: ost = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3b4511df39c54f827ca99606a5aa98f6">new_audio_stream</a>(mux, o, NULL); <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01121" name="l01121"></a><span class="lineno"> 1121</span>    <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l01122" name="l01122"></a><span class="lineno"> 1122</span>        av_log(mux, AV_LOG_FATAL, <span class="stringliteral">&quot;Only video and audio filters are supported &quot;</span></div>
<div class="line"><a id="l01123" name="l01123"></a><span class="lineno"> 1123</span>               <span class="stringliteral">&quot;currently.\n&quot;</span>);</div>
<div class="line"><a id="l01124" name="l01124"></a><span class="lineno"> 1124</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01125" name="l01125"></a><span class="lineno"> 1125</span>    }</div>
<div class="line"><a id="l01126" name="l01126"></a><span class="lineno"> 1126</span> </div>
<div class="line"><a id="l01127" name="l01127"></a><span class="lineno"> 1127</span>    ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ad8926e7de923b3eeabd66770caacfe1e">filter</a>       = ofilter;</div>
<div class="line"><a id="l01128" name="l01128"></a><span class="lineno"> 1128</span> </div>
<div class="line"><a id="l01129" name="l01129"></a><span class="lineno"> 1129</span>    ofilter-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#a2d283eee3e140f822b5eb381890ba035">ost</a>      = ost;</div>
<div class="line"><a id="l01130" name="l01130"></a><span class="lineno"> 1130</span>    ofilter-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#aeba350050d2035d755254154e6551c49">format</a>   = -1;</div>
<div class="line"><a id="l01131" name="l01131"></a><span class="lineno"> 1131</span> </div>
<div class="line"><a id="l01132" name="l01132"></a><span class="lineno"> 1132</span>    <span class="keywordflow">if</span> (!ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>) {</div>
<div class="line"><a id="l01133" name="l01133"></a><span class="lineno"> 1133</span>        av_log(ost, AV_LOG_ERROR, <span class="stringliteral">&quot;Streamcopy requested for output stream fed &quot;</span></div>
<div class="line"><a id="l01134" name="l01134"></a><span class="lineno"> 1134</span>               <span class="stringliteral">&quot;from a complex filtergraph. Filtering and streamcopy &quot;</span></div>
<div class="line"><a id="l01135" name="l01135"></a><span class="lineno"> 1135</span>               <span class="stringliteral">&quot;cannot be used together.\n&quot;</span>);</div>
<div class="line"><a id="l01136" name="l01136"></a><span class="lineno"> 1136</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01137" name="l01137"></a><span class="lineno"> 1137</span>    }</div>
<div class="line"><a id="l01138" name="l01138"></a><span class="lineno"> 1138</span> </div>
<div class="line"><a id="l01139" name="l01139"></a><span class="lineno"> 1139</span>    <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac35ecb04b8b6ca22d10180918de95be4">avfilter</a> &amp;&amp; (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac2cdba9dbd9a315fd3ea90cbfb634409">filters</a> || ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#acbe9d7fddd3daaab6e9337099ec824f2">filters_script</a>)) {</div>
<div class="line"><a id="l01140" name="l01140"></a><span class="lineno"> 1140</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> *opt = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac2cdba9dbd9a315fd3ea90cbfb634409">filters</a> ? <span class="stringliteral">&quot;-vf/-af/-filter&quot;</span> : <span class="stringliteral">&quot;-filter_script&quot;</span>;</div>
<div class="line"><a id="l01141" name="l01141"></a><span class="lineno"> 1141</span>        av_log(ost, AV_LOG_ERROR,</div>
<div class="line"><a id="l01142" name="l01142"></a><span class="lineno"> 1142</span>               <span class="stringliteral">&quot;%s &#39;%s&#39; was specified through the %s option &quot;</span></div>
<div class="line"><a id="l01143" name="l01143"></a><span class="lineno"> 1143</span>               <span class="stringliteral">&quot;for output stream %d:%d, which is fed from a complex filtergraph.\n&quot;</span></div>
<div class="line"><a id="l01144" name="l01144"></a><span class="lineno"> 1144</span>               <span class="stringliteral">&quot;%s and -filter_complex cannot be used together for the same stream.\n&quot;</span>,</div>
<div class="line"><a id="l01145" name="l01145"></a><span class="lineno"> 1145</span>               ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac2cdba9dbd9a315fd3ea90cbfb634409">filters</a> ? <span class="stringliteral">&quot;Filtergraph&quot;</span> : <span class="stringliteral">&quot;Filtergraph script&quot;</span>,</div>
<div class="line"><a id="l01146" name="l01146"></a><span class="lineno"> 1146</span>               ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac2cdba9dbd9a315fd3ea90cbfb634409">filters</a> ? ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac2cdba9dbd9a315fd3ea90cbfb634409">filters</a> : ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#acbe9d7fddd3daaab6e9337099ec824f2">filters_script</a>,</div>
<div class="line"><a id="l01147" name="l01147"></a><span class="lineno"> 1147</span>               opt, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#af608105788daa4300771669d992ef890">file_index</a>, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ae22fe6ee1999d45be0d8722d04294a22">index</a>, opt);</div>
<div class="line"><a id="l01148" name="l01148"></a><span class="lineno"> 1148</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01149" name="l01149"></a><span class="lineno"> 1149</span>    }</div>
<div class="line"><a id="l01150" name="l01150"></a><span class="lineno"> 1150</span> </div>
<div class="line"><a id="l01151" name="l01151"></a><span class="lineno"> 1151</span>    avfilter_inout_free(&amp;ofilter-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#a1571021ae59382241c925f7ee613cd7d">out_tmp</a>);</div>
<div class="line"><a id="l01152" name="l01152"></a><span class="lineno"> 1152</span>}</div>
<div class="line"><a id="l01153" name="l01153"></a><span class="lineno"> 1153</span> </div>
<div class="line"><a id="l01154" name="l01154"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8fd5c9176713d0cb38ce640568056ad3"> 1154</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8fd5c9176713d0cb38ce640568056ad3">map_auto_video</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o)</div>
<div class="line"><a id="l01155" name="l01155"></a><span class="lineno"> 1155</span>{</div>
<div class="line"><a id="l01156" name="l01156"></a><span class="lineno"> 1156</span>    AVFormatContext *oc = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>;</div>
<div class="line"><a id="l01157" name="l01157"></a><span class="lineno"> 1157</span>    <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *best_ist = NULL;</div>
<div class="line"><a id="l01158" name="l01158"></a><span class="lineno"> 1158</span>    <span class="keywordtype">int</span> best_score = 0;</div>
<div class="line"><a id="l01159" name="l01159"></a><span class="lineno"> 1159</span>    <span class="keywordtype">int</span> qcr;</div>
<div class="line"><a id="l01160" name="l01160"></a><span class="lineno"> 1160</span> </div>
<div class="line"><a id="l01161" name="l01161"></a><span class="lineno"> 1161</span>    <span class="comment">/* video: highest resolution */</span></div>
<div class="line"><a id="l01162" name="l01162"></a><span class="lineno"> 1162</span>    <span class="keywordflow">if</span> (av_guess_codec(oc-&gt;oformat, NULL, oc-&gt;url, NULL, AVMEDIA_TYPE_VIDEO) == AV_CODEC_ID_NONE)</div>
<div class="line"><a id="l01163" name="l01163"></a><span class="lineno"> 1163</span>        <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l01164" name="l01164"></a><span class="lineno"> 1164</span> </div>
<div class="line"><a id="l01165" name="l01165"></a><span class="lineno"> 1165</span>    qcr = avformat_query_codec(oc-&gt;oformat, oc-&gt;oformat-&gt;video_codec, 0);</div>
<div class="line"><a id="l01166" name="l01166"></a><span class="lineno"> 1166</span>    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a35146af7b101927e2e6aaaf49022f9b7">nb_input_files</a>; j++) {</div>
<div class="line"><a id="l01167" name="l01167"></a><span class="lineno"> 1167</span>        <a class="code hl_struct" href="../../d8/d99/struct_input_file.html">InputFile</a> *ifile = <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a8815f40afdcda266b01da4b3137a99a3">input_files</a>[j];</div>
<div class="line"><a id="l01168" name="l01168"></a><span class="lineno"> 1168</span>        <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *file_best_ist = NULL;</div>
<div class="line"><a id="l01169" name="l01169"></a><span class="lineno"> 1169</span>        <span class="keywordtype">int</span> file_best_score = 0;</div>
<div class="line"><a id="l01170" name="l01170"></a><span class="lineno"> 1170</span>        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; ifile-&gt;<a class="code hl_variable" href="../../d8/d99/struct_input_file.html#afee3292b7b58207fe6fd91c8127fac19">nb_streams</a>; i++) {</div>
<div class="line"><a id="l01171" name="l01171"></a><span class="lineno"> 1171</span>            <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *ist = ifile-&gt;<a class="code hl_variable" href="../../d8/d99/struct_input_file.html#ab8ce457504c91dd3d16db8fe281553ae">streams</a>[i];</div>
<div class="line"><a id="l01172" name="l01172"></a><span class="lineno"> 1172</span>            <span class="keywordtype">int</span> score;</div>
<div class="line"><a id="l01173" name="l01173"></a><span class="lineno"> 1173</span> </div>
<div class="line"><a id="l01174" name="l01174"></a><span class="lineno"> 1174</span>            <span class="keywordflow">if</span> (ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#a86b730f87f0f8ebd088f94af51d91b96">user_set_discard</a> == AVDISCARD_ALL ||</div>
<div class="line"><a id="l01175" name="l01175"></a><span class="lineno"> 1175</span>                ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;codecpar-&gt;codec_type != AVMEDIA_TYPE_VIDEO)</div>
<div class="line"><a id="l01176" name="l01176"></a><span class="lineno"> 1176</span>                <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l01177" name="l01177"></a><span class="lineno"> 1177</span> </div>
<div class="line"><a id="l01178" name="l01178"></a><span class="lineno"> 1178</span>            score = ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;codecpar-&gt;width * ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;codecpar-&gt;height</div>
<div class="line"><a id="l01179" name="l01179"></a><span class="lineno"> 1179</span>                       + 100000000 * !!(ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;event_flags &amp; AVSTREAM_EVENT_FLAG_NEW_PACKETS)</div>
<div class="line"><a id="l01180" name="l01180"></a><span class="lineno"> 1180</span>                       + 5000000*!!(ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;disposition &amp; AV_DISPOSITION_DEFAULT);</div>
<div class="line"><a id="l01181" name="l01181"></a><span class="lineno"> 1181</span>            <span class="keywordflow">if</span>((qcr!=MKTAG(<span class="charliteral">&#39;A&#39;</span>, <span class="charliteral">&#39;P&#39;</span>, <span class="charliteral">&#39;I&#39;</span>, <span class="charliteral">&#39;C&#39;</span>)) &amp;&amp; (ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;disposition &amp; AV_DISPOSITION_ATTACHED_PIC))</div>
<div class="line"><a id="l01182" name="l01182"></a><span class="lineno"> 1182</span>                score = 1;</div>
<div class="line"><a id="l01183" name="l01183"></a><span class="lineno"> 1183</span> </div>
<div class="line"><a id="l01184" name="l01184"></a><span class="lineno"> 1184</span>            <span class="keywordflow">if</span> (score &gt; file_best_score) {</div>
<div class="line"><a id="l01185" name="l01185"></a><span class="lineno"> 1185</span>                <span class="keywordflow">if</span>((qcr==MKTAG(<span class="charliteral">&#39;A&#39;</span>, <span class="charliteral">&#39;P&#39;</span>, <span class="charliteral">&#39;I&#39;</span>, <span class="charliteral">&#39;C&#39;</span>)) &amp;&amp; !(ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;disposition &amp; AV_DISPOSITION_ATTACHED_PIC))</div>
<div class="line"><a id="l01186" name="l01186"></a><span class="lineno"> 1186</span>                    <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l01187" name="l01187"></a><span class="lineno"> 1187</span>                file_best_score = score;</div>
<div class="line"><a id="l01188" name="l01188"></a><span class="lineno"> 1188</span>                file_best_ist   = ist;</div>
<div class="line"><a id="l01189" name="l01189"></a><span class="lineno"> 1189</span>            }</div>
<div class="line"><a id="l01190" name="l01190"></a><span class="lineno"> 1190</span>        }</div>
<div class="line"><a id="l01191" name="l01191"></a><span class="lineno"> 1191</span>        <span class="keywordflow">if</span> (file_best_ist) {</div>
<div class="line"><a id="l01192" name="l01192"></a><span class="lineno"> 1192</span>            <span class="keywordflow">if</span>((qcr == MKTAG(<span class="charliteral">&#39;A&#39;</span>, <span class="charliteral">&#39;P&#39;</span>, <span class="charliteral">&#39;I&#39;</span>, <span class="charliteral">&#39;C&#39;</span>)) ||</div>
<div class="line"><a id="l01193" name="l01193"></a><span class="lineno"> 1193</span>               !(file_best_ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;disposition &amp; AV_DISPOSITION_ATTACHED_PIC))</div>
<div class="line"><a id="l01194" name="l01194"></a><span class="lineno"> 1194</span>                file_best_score -= 5000000*!!(file_best_ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;disposition &amp; AV_DISPOSITION_DEFAULT);</div>
<div class="line"><a id="l01195" name="l01195"></a><span class="lineno"> 1195</span>            <span class="keywordflow">if</span> (file_best_score &gt; best_score) {</div>
<div class="line"><a id="l01196" name="l01196"></a><span class="lineno"> 1196</span>                best_score = file_best_score;</div>
<div class="line"><a id="l01197" name="l01197"></a><span class="lineno"> 1197</span>                best_ist = file_best_ist;</div>
<div class="line"><a id="l01198" name="l01198"></a><span class="lineno"> 1198</span>            }</div>
<div class="line"><a id="l01199" name="l01199"></a><span class="lineno"> 1199</span>       }</div>
<div class="line"><a id="l01200" name="l01200"></a><span class="lineno"> 1200</span>    }</div>
<div class="line"><a id="l01201" name="l01201"></a><span class="lineno"> 1201</span>    <span class="keywordflow">if</span> (best_ist)</div>
<div class="line"><a id="l01202" name="l01202"></a><span class="lineno"> 1202</span>        <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a4fc06433569e921747604ffe642b65ff">new_video_stream</a>(mux, o, best_ist);</div>
<div class="line"><a id="l01203" name="l01203"></a><span class="lineno"> 1203</span>}</div>
<div class="line"><a id="l01204" name="l01204"></a><span class="lineno"> 1204</span> </div>
<div class="line"><a id="l01205" name="l01205"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9d42eeec6f1648a7ed4b931c21d054d1"> 1205</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9d42eeec6f1648a7ed4b931c21d054d1">map_auto_audio</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o)</div>
<div class="line"><a id="l01206" name="l01206"></a><span class="lineno"> 1206</span>{</div>
<div class="line"><a id="l01207" name="l01207"></a><span class="lineno"> 1207</span>    AVFormatContext *oc = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>;</div>
<div class="line"><a id="l01208" name="l01208"></a><span class="lineno"> 1208</span>    <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *best_ist = NULL;</div>
<div class="line"><a id="l01209" name="l01209"></a><span class="lineno"> 1209</span>    <span class="keywordtype">int</span> best_score = 0;</div>
<div class="line"><a id="l01210" name="l01210"></a><span class="lineno"> 1210</span> </div>
<div class="line"><a id="l01211" name="l01211"></a><span class="lineno"> 1211</span>        <span class="comment">/* audio: most channels */</span></div>
<div class="line"><a id="l01212" name="l01212"></a><span class="lineno"> 1212</span>    <span class="keywordflow">if</span> (av_guess_codec(oc-&gt;oformat, NULL, oc-&gt;url, NULL, AVMEDIA_TYPE_AUDIO) == AV_CODEC_ID_NONE)</div>
<div class="line"><a id="l01213" name="l01213"></a><span class="lineno"> 1213</span>        <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l01214" name="l01214"></a><span class="lineno"> 1214</span> </div>
<div class="line"><a id="l01215" name="l01215"></a><span class="lineno"> 1215</span>    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a35146af7b101927e2e6aaaf49022f9b7">nb_input_files</a>; j++) {</div>
<div class="line"><a id="l01216" name="l01216"></a><span class="lineno"> 1216</span>        <a class="code hl_struct" href="../../d8/d99/struct_input_file.html">InputFile</a> *ifile = <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a8815f40afdcda266b01da4b3137a99a3">input_files</a>[j];</div>
<div class="line"><a id="l01217" name="l01217"></a><span class="lineno"> 1217</span>        <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *file_best_ist = NULL;</div>
<div class="line"><a id="l01218" name="l01218"></a><span class="lineno"> 1218</span>        <span class="keywordtype">int</span> file_best_score = 0;</div>
<div class="line"><a id="l01219" name="l01219"></a><span class="lineno"> 1219</span>        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; ifile-&gt;<a class="code hl_variable" href="../../d8/d99/struct_input_file.html#afee3292b7b58207fe6fd91c8127fac19">nb_streams</a>; i++) {</div>
<div class="line"><a id="l01220" name="l01220"></a><span class="lineno"> 1220</span>            <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *ist = ifile-&gt;<a class="code hl_variable" href="../../d8/d99/struct_input_file.html#ab8ce457504c91dd3d16db8fe281553ae">streams</a>[i];</div>
<div class="line"><a id="l01221" name="l01221"></a><span class="lineno"> 1221</span>            <span class="keywordtype">int</span> score;</div>
<div class="line"><a id="l01222" name="l01222"></a><span class="lineno"> 1222</span> </div>
<div class="line"><a id="l01223" name="l01223"></a><span class="lineno"> 1223</span>            <span class="keywordflow">if</span> (ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#a86b730f87f0f8ebd088f94af51d91b96">user_set_discard</a> == AVDISCARD_ALL ||</div>
<div class="line"><a id="l01224" name="l01224"></a><span class="lineno"> 1224</span>                ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;codecpar-&gt;codec_type != AVMEDIA_TYPE_AUDIO)</div>
<div class="line"><a id="l01225" name="l01225"></a><span class="lineno"> 1225</span>                <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l01226" name="l01226"></a><span class="lineno"> 1226</span> </div>
<div class="line"><a id="l01227" name="l01227"></a><span class="lineno"> 1227</span>            score = ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;codecpar-&gt;ch_layout.nb_channels</div>
<div class="line"><a id="l01228" name="l01228"></a><span class="lineno"> 1228</span>                    + 100000000 * !!(ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;event_flags &amp; AVSTREAM_EVENT_FLAG_NEW_PACKETS)</div>
<div class="line"><a id="l01229" name="l01229"></a><span class="lineno"> 1229</span>                    + 5000000*!!(ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;disposition &amp; AV_DISPOSITION_DEFAULT);</div>
<div class="line"><a id="l01230" name="l01230"></a><span class="lineno"> 1230</span>            <span class="keywordflow">if</span> (score &gt; file_best_score) {</div>
<div class="line"><a id="l01231" name="l01231"></a><span class="lineno"> 1231</span>                file_best_score = score;</div>
<div class="line"><a id="l01232" name="l01232"></a><span class="lineno"> 1232</span>                file_best_ist   = ist;</div>
<div class="line"><a id="l01233" name="l01233"></a><span class="lineno"> 1233</span>            }</div>
<div class="line"><a id="l01234" name="l01234"></a><span class="lineno"> 1234</span>        }</div>
<div class="line"><a id="l01235" name="l01235"></a><span class="lineno"> 1235</span>        <span class="keywordflow">if</span> (file_best_ist) {</div>
<div class="line"><a id="l01236" name="l01236"></a><span class="lineno"> 1236</span>            file_best_score -= 5000000*!!(file_best_ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;disposition &amp; AV_DISPOSITION_DEFAULT);</div>
<div class="line"><a id="l01237" name="l01237"></a><span class="lineno"> 1237</span>            <span class="keywordflow">if</span> (file_best_score &gt; best_score) {</div>
<div class="line"><a id="l01238" name="l01238"></a><span class="lineno"> 1238</span>                best_score = file_best_score;</div>
<div class="line"><a id="l01239" name="l01239"></a><span class="lineno"> 1239</span>                best_ist   = file_best_ist;</div>
<div class="line"><a id="l01240" name="l01240"></a><span class="lineno"> 1240</span>            }</div>
<div class="line"><a id="l01241" name="l01241"></a><span class="lineno"> 1241</span>       }</div>
<div class="line"><a id="l01242" name="l01242"></a><span class="lineno"> 1242</span>    }</div>
<div class="line"><a id="l01243" name="l01243"></a><span class="lineno"> 1243</span>    <span class="keywordflow">if</span> (best_ist)</div>
<div class="line"><a id="l01244" name="l01244"></a><span class="lineno"> 1244</span>        <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3b4511df39c54f827ca99606a5aa98f6">new_audio_stream</a>(mux, o, best_ist);</div>
<div class="line"><a id="l01245" name="l01245"></a><span class="lineno"> 1245</span>}</div>
<div class="line"><a id="l01246" name="l01246"></a><span class="lineno"> 1246</span> </div>
<div class="line"><a id="l01247" name="l01247"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae69bc1d8fbc8a3f1598f25478a0a591a"> 1247</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae69bc1d8fbc8a3f1598f25478a0a591a">map_auto_subtitle</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o)</div>
<div class="line"><a id="l01248" name="l01248"></a><span class="lineno"> 1248</span>{</div>
<div class="line"><a id="l01249" name="l01249"></a><span class="lineno"> 1249</span>    AVFormatContext *oc = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>;</div>
<div class="line"><a id="l01250" name="l01250"></a><span class="lineno"> 1250</span>    <span class="keywordtype">char</span> *subtitle_codec_name = NULL;</div>
<div class="line"><a id="l01251" name="l01251"></a><span class="lineno"> 1251</span> </div>
<div class="line"><a id="l01252" name="l01252"></a><span class="lineno"> 1252</span>        <span class="comment">/* subtitles: pick first */</span></div>
<div class="line"><a id="l01253" name="l01253"></a><span class="lineno"> 1253</span>    <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a4cc472c69041f4fae418334430ccb829">MATCH_PER_TYPE_OPT</a>(codec_names, str, subtitle_codec_name, oc, <span class="stringliteral">&quot;s&quot;</span>);</div>
<div class="line"><a id="l01254" name="l01254"></a><span class="lineno"> 1254</span>    <span class="keywordflow">if</span> (!avcodec_find_encoder(oc-&gt;oformat-&gt;subtitle_codec) &amp;&amp; !subtitle_codec_name)</div>
<div class="line"><a id="l01255" name="l01255"></a><span class="lineno"> 1255</span>        <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l01256" name="l01256"></a><span class="lineno"> 1256</span> </div>
<div class="line"><a id="l01257" name="l01257"></a><span class="lineno"> 1257</span>    <span class="keywordflow">for</span> (<a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *ist = <a class="code hl_function" href="../../d7/d48/fftools__ffmpeg_8c.html#ae9f3a1f8d338e96d68436250ca9fd7da">ist_iter</a>(NULL); ist; ist = <a class="code hl_function" href="../../d7/d48/fftools__ffmpeg_8c.html#ae9f3a1f8d338e96d68436250ca9fd7da">ist_iter</a>(ist))</div>
<div class="line"><a id="l01258" name="l01258"></a><span class="lineno"> 1258</span>        <span class="keywordflow">if</span> (ist-&gt;st-&gt;codecpar-&gt;codec_type == AVMEDIA_TYPE_SUBTITLE) {</div>
<div class="line"><a id="l01259" name="l01259"></a><span class="lineno"> 1259</span>            AVCodecDescriptor <span class="keyword">const</span> *input_descriptor =</div>
<div class="line"><a id="l01260" name="l01260"></a><span class="lineno"> 1260</span>                avcodec_descriptor_get(ist-&gt;st-&gt;codecpar-&gt;codec_id);</div>
<div class="line"><a id="l01261" name="l01261"></a><span class="lineno"> 1261</span>            AVCodecDescriptor <span class="keyword">const</span> *output_descriptor = NULL;</div>
<div class="line"><a id="l01262" name="l01262"></a><span class="lineno"> 1262</span>            AVCodec <span class="keyword">const</span> *output_codec =</div>
<div class="line"><a id="l01263" name="l01263"></a><span class="lineno"> 1263</span>                avcodec_find_encoder(oc-&gt;oformat-&gt;subtitle_codec);</div>
<div class="line"><a id="l01264" name="l01264"></a><span class="lineno"> 1264</span>            <span class="keywordtype">int</span> input_props = 0, output_props = 0;</div>
<div class="line"><a id="l01265" name="l01265"></a><span class="lineno"> 1265</span>            <span class="keywordflow">if</span> (ist-&gt;user_set_discard == AVDISCARD_ALL)</div>
<div class="line"><a id="l01266" name="l01266"></a><span class="lineno"> 1266</span>                <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l01267" name="l01267"></a><span class="lineno"> 1267</span>            <span class="keywordflow">if</span> (output_codec)</div>
<div class="line"><a id="l01268" name="l01268"></a><span class="lineno"> 1268</span>                output_descriptor = avcodec_descriptor_get(output_codec-&gt;id);</div>
<div class="line"><a id="l01269" name="l01269"></a><span class="lineno"> 1269</span>            <span class="keywordflow">if</span> (input_descriptor)</div>
<div class="line"><a id="l01270" name="l01270"></a><span class="lineno"> 1270</span>                input_props = input_descriptor-&gt;props &amp; (AV_CODEC_PROP_TEXT_SUB | AV_CODEC_PROP_BITMAP_SUB);</div>
<div class="line"><a id="l01271" name="l01271"></a><span class="lineno"> 1271</span>            <span class="keywordflow">if</span> (output_descriptor)</div>
<div class="line"><a id="l01272" name="l01272"></a><span class="lineno"> 1272</span>                output_props = output_descriptor-&gt;props &amp; (AV_CODEC_PROP_TEXT_SUB | AV_CODEC_PROP_BITMAP_SUB);</div>
<div class="line"><a id="l01273" name="l01273"></a><span class="lineno"> 1273</span>            <span class="keywordflow">if</span> (subtitle_codec_name ||</div>
<div class="line"><a id="l01274" name="l01274"></a><span class="lineno"> 1274</span>                input_props &amp; output_props ||</div>
<div class="line"><a id="l01275" name="l01275"></a><span class="lineno"> 1275</span>                <span class="comment">// Map dvb teletext which has neither property to any output subtitle encoder</span></div>
<div class="line"><a id="l01276" name="l01276"></a><span class="lineno"> 1276</span>                (input_descriptor &amp;&amp; output_descriptor &amp;&amp;</div>
<div class="line"><a id="l01277" name="l01277"></a><span class="lineno"> 1277</span>                (!input_descriptor-&gt;props ||</div>
<div class="line"><a id="l01278" name="l01278"></a><span class="lineno"> 1278</span>                 !output_descriptor-&gt;props))) {</div>
<div class="line"><a id="l01279" name="l01279"></a><span class="lineno"> 1279</span>                <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ad3d97d53da94ca5c2286179d501511a6">new_subtitle_stream</a>(mux, o, ist);</div>
<div class="line"><a id="l01280" name="l01280"></a><span class="lineno"> 1280</span>                <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01281" name="l01281"></a><span class="lineno"> 1281</span>            }</div>
<div class="line"><a id="l01282" name="l01282"></a><span class="lineno"> 1282</span>        }</div>
<div class="line"><a id="l01283" name="l01283"></a><span class="lineno"> 1283</span>}</div>
<div class="line"><a id="l01284" name="l01284"></a><span class="lineno"> 1284</span> </div>
<div class="line"><a id="l01285" name="l01285"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aeb02e34a2d84cc720ef02cff54096e20"> 1285</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aeb02e34a2d84cc720ef02cff54096e20">map_auto_data</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o)</div>
<div class="line"><a id="l01286" name="l01286"></a><span class="lineno"> 1286</span>{</div>
<div class="line"><a id="l01287" name="l01287"></a><span class="lineno"> 1287</span>    AVFormatContext *oc = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>;</div>
<div class="line"><a id="l01288" name="l01288"></a><span class="lineno"> 1288</span>    <span class="comment">/* Data only if codec id match */</span></div>
<div class="line"><a id="l01289" name="l01289"></a><span class="lineno"> 1289</span>    <span class="keyword">enum</span> AVCodecID codec_id = av_guess_codec(oc-&gt;oformat, NULL, oc-&gt;url, NULL, AVMEDIA_TYPE_DATA);</div>
<div class="line"><a id="l01290" name="l01290"></a><span class="lineno"> 1290</span> </div>
<div class="line"><a id="l01291" name="l01291"></a><span class="lineno"> 1291</span>    <span class="keywordflow">if</span> (codec_id == AV_CODEC_ID_NONE)</div>
<div class="line"><a id="l01292" name="l01292"></a><span class="lineno"> 1292</span>        <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l01293" name="l01293"></a><span class="lineno"> 1293</span> </div>
<div class="line"><a id="l01294" name="l01294"></a><span class="lineno"> 1294</span>    <span class="keywordflow">for</span> (<a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *ist = <a class="code hl_function" href="../../d7/d48/fftools__ffmpeg_8c.html#ae9f3a1f8d338e96d68436250ca9fd7da">ist_iter</a>(NULL); ist; ist = <a class="code hl_function" href="../../d7/d48/fftools__ffmpeg_8c.html#ae9f3a1f8d338e96d68436250ca9fd7da">ist_iter</a>(ist)) {</div>
<div class="line"><a id="l01295" name="l01295"></a><span class="lineno"> 1295</span>        <span class="keywordflow">if</span> (ist-&gt;user_set_discard == AVDISCARD_ALL)</div>
<div class="line"><a id="l01296" name="l01296"></a><span class="lineno"> 1296</span>            <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l01297" name="l01297"></a><span class="lineno"> 1297</span>        <span class="keywordflow">if</span> (ist-&gt;st-&gt;codecpar-&gt;codec_type == AVMEDIA_TYPE_DATA &amp;&amp;</div>
<div class="line"><a id="l01298" name="l01298"></a><span class="lineno"> 1298</span>            ist-&gt;st-&gt;codecpar-&gt;codec_id == codec_id )</div>
<div class="line"><a id="l01299" name="l01299"></a><span class="lineno"> 1299</span>            <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3758af9502257907b0636677392acc67">new_data_stream</a>(mux, o, ist);</div>
<div class="line"><a id="l01300" name="l01300"></a><span class="lineno"> 1300</span>    }</div>
<div class="line"><a id="l01301" name="l01301"></a><span class="lineno"> 1301</span>}</div>
<div class="line"><a id="l01302" name="l01302"></a><span class="lineno"> 1302</span> </div>
<div class="line"><a id="l01303" name="l01303"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a77c723e24786acc43ee9c9a2d37af890"> 1303</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a77c723e24786acc43ee9c9a2d37af890">map_manual</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o, <span class="keyword">const</span> <a class="code hl_struct" href="../../db/d60/struct_stream_map.html">StreamMap</a> *map)</div>
<div class="line"><a id="l01304" name="l01304"></a><span class="lineno"> 1304</span>{</div>
<div class="line"><a id="l01305" name="l01305"></a><span class="lineno"> 1305</span>    <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *ist;</div>
<div class="line"><a id="l01306" name="l01306"></a><span class="lineno"> 1306</span> </div>
<div class="line"><a id="l01307" name="l01307"></a><span class="lineno"> 1307</span>    <span class="keywordflow">if</span> (map-&gt;<a class="code hl_variable" href="../../db/d60/struct_stream_map.html#a4b146ee6da0df9d55d435d9153636504">disabled</a>)</div>
<div class="line"><a id="l01308" name="l01308"></a><span class="lineno"> 1308</span>        <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l01309" name="l01309"></a><span class="lineno"> 1309</span> </div>
<div class="line"><a id="l01310" name="l01310"></a><span class="lineno"> 1310</span>    <span class="keywordflow">if</span> (map-&gt;<a class="code hl_variable" href="../../db/d60/struct_stream_map.html#aca10df0c2fe6f0e6c13c7b536f6ef7d2">linklabel</a>) {</div>
<div class="line"><a id="l01311" name="l01311"></a><span class="lineno"> 1311</span>        <a class="code hl_struct" href="../../d9/de7/struct_filter_graph.html">FilterGraph</a> *fg;</div>
<div class="line"><a id="l01312" name="l01312"></a><span class="lineno"> 1312</span>        <a class="code hl_struct" href="../../d0/d0f/struct_output_filter.html">OutputFilter</a> *ofilter = NULL;</div>
<div class="line"><a id="l01313" name="l01313"></a><span class="lineno"> 1313</span>        <span class="keywordtype">int</span> j, k;</div>
<div class="line"><a id="l01314" name="l01314"></a><span class="lineno"> 1314</span> </div>
<div class="line"><a id="l01315" name="l01315"></a><span class="lineno"> 1315</span>        <span class="keywordflow">for</span> (j = 0; j &lt; <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#ac69138c251f85a6e3233c9a70884be93">nb_filtergraphs</a>; j++) {</div>
<div class="line"><a id="l01316" name="l01316"></a><span class="lineno"> 1316</span>            fg = <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a902ed0b2ffc617e274426bc05118f1c3">filtergraphs</a>[j];</div>
<div class="line"><a id="l01317" name="l01317"></a><span class="lineno"> 1317</span>            <span class="keywordflow">for</span> (k = 0; k &lt; fg-&gt;<a class="code hl_variable" href="../../d9/de7/struct_filter_graph.html#a92c7f6faf7e95b259bce1c717d43b4ee">nb_outputs</a>; k++) {</div>
<div class="line"><a id="l01318" name="l01318"></a><span class="lineno"> 1318</span>                AVFilterInOut *out = fg-&gt;<a class="code hl_variable" href="../../d9/de7/struct_filter_graph.html#aa078de74cae0940747ba826567b74aef">outputs</a>[k]-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#a1571021ae59382241c925f7ee613cd7d">out_tmp</a>;</div>
<div class="line"><a id="l01319" name="l01319"></a><span class="lineno"> 1319</span>                <span class="keywordflow">if</span> (out &amp;&amp; !strcmp(out-&gt;name, map-&gt;<a class="code hl_variable" href="../../db/d60/struct_stream_map.html#aca10df0c2fe6f0e6c13c7b536f6ef7d2">linklabel</a>)) {</div>
<div class="line"><a id="l01320" name="l01320"></a><span class="lineno"> 1320</span>                    ofilter = fg-&gt;<a class="code hl_variable" href="../../d9/de7/struct_filter_graph.html#aa078de74cae0940747ba826567b74aef">outputs</a>[k];</div>
<div class="line"><a id="l01321" name="l01321"></a><span class="lineno"> 1321</span>                    <span class="keywordflow">goto</span> loop_end;</div>
<div class="line"><a id="l01322" name="l01322"></a><span class="lineno"> 1322</span>                }</div>
<div class="line"><a id="l01323" name="l01323"></a><span class="lineno"> 1323</span>            }</div>
<div class="line"><a id="l01324" name="l01324"></a><span class="lineno"> 1324</span>        }</div>
<div class="line"><a id="l01325" name="l01325"></a><span class="lineno"> 1325</span>loop_end:</div>
<div class="line"><a id="l01326" name="l01326"></a><span class="lineno"> 1326</span>        <span class="keywordflow">if</span> (!ofilter) {</div>
<div class="line"><a id="l01327" name="l01327"></a><span class="lineno"> 1327</span>            av_log(mux, AV_LOG_FATAL, <span class="stringliteral">&quot;Output with label &#39;%s&#39; does not exist &quot;</span></div>
<div class="line"><a id="l01328" name="l01328"></a><span class="lineno"> 1328</span>                   <span class="stringliteral">&quot;in any defined filter graph, or was already used elsewhere.\n&quot;</span>, map-&gt;<a class="code hl_variable" href="../../db/d60/struct_stream_map.html#aca10df0c2fe6f0e6c13c7b536f6ef7d2">linklabel</a>);</div>
<div class="line"><a id="l01329" name="l01329"></a><span class="lineno"> 1329</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01330" name="l01330"></a><span class="lineno"> 1330</span>        }</div>
<div class="line"><a id="l01331" name="l01331"></a><span class="lineno"> 1331</span>        <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3a72cc131ee4055931b3f0365bb29243">init_output_filter</a>(ofilter, o, mux);</div>
<div class="line"><a id="l01332" name="l01332"></a><span class="lineno"> 1332</span>    } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01333" name="l01333"></a><span class="lineno"> 1333</span>        ist = <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a8815f40afdcda266b01da4b3137a99a3">input_files</a>[map-&gt;<a class="code hl_variable" href="../../db/d60/struct_stream_map.html#af8b5bac41a8831242ead1441bdca6783">file_index</a>]-&gt;<a class="code hl_variable" href="../../d8/d99/struct_input_file.html#ab8ce457504c91dd3d16db8fe281553ae">streams</a>[map-&gt;<a class="code hl_variable" href="../../db/d60/struct_stream_map.html#a2982108d57751e19c308fe338361b066">stream_index</a>];</div>
<div class="line"><a id="l01334" name="l01334"></a><span class="lineno"> 1334</span>        <span class="keywordflow">if</span> (ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#a86b730f87f0f8ebd088f94af51d91b96">user_set_discard</a> == AVDISCARD_ALL) {</div>
<div class="line"><a id="l01335" name="l01335"></a><span class="lineno"> 1335</span>            av_log(mux, AV_LOG_FATAL, <span class="stringliteral">&quot;Stream #%d:%d is disabled and cannot be mapped.\n&quot;</span>,</div>
<div class="line"><a id="l01336" name="l01336"></a><span class="lineno"> 1336</span>                   map-&gt;<a class="code hl_variable" href="../../db/d60/struct_stream_map.html#af8b5bac41a8831242ead1441bdca6783">file_index</a>, map-&gt;<a class="code hl_variable" href="../../db/d60/struct_stream_map.html#a2982108d57751e19c308fe338361b066">stream_index</a>);</div>
<div class="line"><a id="l01337" name="l01337"></a><span class="lineno"> 1337</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01338" name="l01338"></a><span class="lineno"> 1338</span>        }</div>
<div class="line"><a id="l01339" name="l01339"></a><span class="lineno"> 1339</span>        <span class="keywordflow">if</span>(o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#af54b258dc24371896f1278cc2652472e">subtitle_disable</a> &amp;&amp; ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;codecpar-&gt;codec_type == AVMEDIA_TYPE_SUBTITLE)</div>
<div class="line"><a id="l01340" name="l01340"></a><span class="lineno"> 1340</span>            <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l01341" name="l01341"></a><span class="lineno"> 1341</span>        <span class="keywordflow">if</span>(o-&gt;   audio_disable &amp;&amp; ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;codecpar-&gt;codec_type == AVMEDIA_TYPE_AUDIO)</div>
<div class="line"><a id="l01342" name="l01342"></a><span class="lineno"> 1342</span>            <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l01343" name="l01343"></a><span class="lineno"> 1343</span>        <span class="keywordflow">if</span>(o-&gt;   video_disable &amp;&amp; ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;codecpar-&gt;codec_type == AVMEDIA_TYPE_VIDEO)</div>
<div class="line"><a id="l01344" name="l01344"></a><span class="lineno"> 1344</span>            <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l01345" name="l01345"></a><span class="lineno"> 1345</span>        <span class="keywordflow">if</span>(o-&gt;    data_disable &amp;&amp; ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;codecpar-&gt;codec_type == AVMEDIA_TYPE_DATA)</div>
<div class="line"><a id="l01346" name="l01346"></a><span class="lineno"> 1346</span>            <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l01347" name="l01347"></a><span class="lineno"> 1347</span> </div>
<div class="line"><a id="l01348" name="l01348"></a><span class="lineno"> 1348</span>        <span class="keywordflow">switch</span> (ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;codecpar-&gt;codec_type) {</div>
<div class="line"><a id="l01349" name="l01349"></a><span class="lineno"> 1349</span>        <span class="keywordflow">case</span> AVMEDIA_TYPE_VIDEO:      <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a4fc06433569e921747604ffe642b65ff">new_video_stream</a>     (mux, o, ist); <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01350" name="l01350"></a><span class="lineno"> 1350</span>        <span class="keywordflow">case</span> AVMEDIA_TYPE_AUDIO:      <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3b4511df39c54f827ca99606a5aa98f6">new_audio_stream</a>     (mux, o, ist); <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01351" name="l01351"></a><span class="lineno"> 1351</span>        <span class="keywordflow">case</span> AVMEDIA_TYPE_SUBTITLE:   <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ad3d97d53da94ca5c2286179d501511a6">new_subtitle_stream</a>  (mux, o, ist); <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01352" name="l01352"></a><span class="lineno"> 1352</span>        <span class="keywordflow">case</span> AVMEDIA_TYPE_DATA:       <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3758af9502257907b0636677392acc67">new_data_stream</a>      (mux, o, ist); <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01353" name="l01353"></a><span class="lineno"> 1353</span>        <span class="keywordflow">case</span> AVMEDIA_TYPE_ATTACHMENT: <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9a9fcec0683225b551dc440fe87bc234">new_attachment_stream</a>(mux, o, ist); <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01354" name="l01354"></a><span class="lineno"> 1354</span>        <span class="keywordflow">case</span> AVMEDIA_TYPE_UNKNOWN:</div>
<div class="line"><a id="l01355" name="l01355"></a><span class="lineno"> 1355</span>            <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a5ea9613c6b24f9f9aec20afde671ad3a">copy_unknown_streams</a>) {</div>
<div class="line"><a id="l01356" name="l01356"></a><span class="lineno"> 1356</span>                <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a77c3b5c45780ef300e59d94bddc7a8f9">new_unknown_stream</a>   (mux, o, ist);</div>
<div class="line"><a id="l01357" name="l01357"></a><span class="lineno"> 1357</span>                <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01358" name="l01358"></a><span class="lineno"> 1358</span>            }</div>
<div class="line"><a id="l01359" name="l01359"></a><span class="lineno"> 1359</span>        <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l01360" name="l01360"></a><span class="lineno"> 1360</span>            av_log(mux, <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#af776ea0ed951054185f753d7d255d884">ignore_unknown_streams</a> ? AV_LOG_WARNING : AV_LOG_FATAL,</div>
<div class="line"><a id="l01361" name="l01361"></a><span class="lineno"> 1361</span>                   <span class="stringliteral">&quot;Cannot map stream #%d:%d - unsupported type.\n&quot;</span>,</div>
<div class="line"><a id="l01362" name="l01362"></a><span class="lineno"> 1362</span>                   map-&gt;<a class="code hl_variable" href="../../db/d60/struct_stream_map.html#af8b5bac41a8831242ead1441bdca6783">file_index</a>, map-&gt;<a class="code hl_variable" href="../../db/d60/struct_stream_map.html#a2982108d57751e19c308fe338361b066">stream_index</a>);</div>
<div class="line"><a id="l01363" name="l01363"></a><span class="lineno"> 1363</span>            <span class="keywordflow">if</span> (!<a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#af776ea0ed951054185f753d7d255d884">ignore_unknown_streams</a>) {</div>
<div class="line"><a id="l01364" name="l01364"></a><span class="lineno"> 1364</span>                av_log(mux, AV_LOG_FATAL,</div>
<div class="line"><a id="l01365" name="l01365"></a><span class="lineno"> 1365</span>                       <span class="stringliteral">&quot;If you want unsupported types ignored instead &quot;</span></div>
<div class="line"><a id="l01366" name="l01366"></a><span class="lineno"> 1366</span>                       <span class="stringliteral">&quot;of failing, please use the -ignore_unknown option\n&quot;</span></div>
<div class="line"><a id="l01367" name="l01367"></a><span class="lineno"> 1367</span>                       <span class="stringliteral">&quot;If you want them copied, please use -copy_unknown\n&quot;</span>);</div>
<div class="line"><a id="l01368" name="l01368"></a><span class="lineno"> 1368</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01369" name="l01369"></a><span class="lineno"> 1369</span>            }</div>
<div class="line"><a id="l01370" name="l01370"></a><span class="lineno"> 1370</span>        }</div>
<div class="line"><a id="l01371" name="l01371"></a><span class="lineno"> 1371</span>    }</div>
<div class="line"><a id="l01372" name="l01372"></a><span class="lineno"> 1372</span>}</div>
<div class="line"><a id="l01373" name="l01373"></a><span class="lineno"> 1373</span> </div>
<div class="line"><a id="l01374" name="l01374"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a70f992780606e51c44a27c9b9bdafa1c"> 1374</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a70f992780606e51c44a27c9b9bdafa1c">of_add_attachments</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o)</div>
<div class="line"><a id="l01375" name="l01375"></a><span class="lineno"> 1375</span>{</div>
<div class="line"><a id="l01376" name="l01376"></a><span class="lineno"> 1376</span>    <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost;</div>
<div class="line"><a id="l01377" name="l01377"></a><span class="lineno"> 1377</span>    <span class="keywordtype">int</span> err;</div>
<div class="line"><a id="l01378" name="l01378"></a><span class="lineno"> 1378</span> </div>
<div class="line"><a id="l01379" name="l01379"></a><span class="lineno"> 1379</span>    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a34f0a7746fbd5a5848fbdb5fac7ce7af">nb_attachments</a>; i++) {</div>
<div class="line"><a id="l01380" name="l01380"></a><span class="lineno"> 1380</span>        AVIOContext *pb;</div>
<div class="line"><a id="l01381" name="l01381"></a><span class="lineno"> 1381</span>        uint8_t *attachment;</div>
<div class="line"><a id="l01382" name="l01382"></a><span class="lineno"> 1382</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> *p;</div>
<div class="line"><a id="l01383" name="l01383"></a><span class="lineno"> 1383</span>        int64_t len;</div>
<div class="line"><a id="l01384" name="l01384"></a><span class="lineno"> 1384</span> </div>
<div class="line"><a id="l01385" name="l01385"></a><span class="lineno"> 1385</span>        <span class="keywordflow">if</span> ((err = avio_open2(&amp;pb, o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#accc18b7847026b5885533035c97b50ba">attachments</a>[i], AVIO_FLAG_READ, &amp;<a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a166da4a1a1f99ead2015de10ca32e48f">int_cb</a>, NULL)) &lt; 0) {</div>
<div class="line"><a id="l01386" name="l01386"></a><span class="lineno"> 1386</span>            av_log(mux, AV_LOG_FATAL, <span class="stringliteral">&quot;Could not open attachment file %s.\n&quot;</span>,</div>
<div class="line"><a id="l01387" name="l01387"></a><span class="lineno"> 1387</span>                   o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#accc18b7847026b5885533035c97b50ba">attachments</a>[i]);</div>
<div class="line"><a id="l01388" name="l01388"></a><span class="lineno"> 1388</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01389" name="l01389"></a><span class="lineno"> 1389</span>        }</div>
<div class="line"><a id="l01390" name="l01390"></a><span class="lineno"> 1390</span>        <span class="keywordflow">if</span> ((len = avio_size(pb)) &lt;= 0) {</div>
<div class="line"><a id="l01391" name="l01391"></a><span class="lineno"> 1391</span>            av_log(mux, AV_LOG_FATAL, <span class="stringliteral">&quot;Could not get size of the attachment %s.\n&quot;</span>,</div>
<div class="line"><a id="l01392" name="l01392"></a><span class="lineno"> 1392</span>                   o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#accc18b7847026b5885533035c97b50ba">attachments</a>[i]);</div>
<div class="line"><a id="l01393" name="l01393"></a><span class="lineno"> 1393</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01394" name="l01394"></a><span class="lineno"> 1394</span>        }</div>
<div class="line"><a id="l01395" name="l01395"></a><span class="lineno"> 1395</span>        <span class="keywordflow">if</span> (len &gt; INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE ||</div>
<div class="line"><a id="l01396" name="l01396"></a><span class="lineno"> 1396</span>            !(attachment = av_malloc(len + AV_INPUT_BUFFER_PADDING_SIZE))) {</div>
<div class="line"><a id="l01397" name="l01397"></a><span class="lineno"> 1397</span>            av_log(mux, AV_LOG_FATAL, <span class="stringliteral">&quot;Attachment %s too large.\n&quot;</span>,</div>
<div class="line"><a id="l01398" name="l01398"></a><span class="lineno"> 1398</span>                   o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#accc18b7847026b5885533035c97b50ba">attachments</a>[i]);</div>
<div class="line"><a id="l01399" name="l01399"></a><span class="lineno"> 1399</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01400" name="l01400"></a><span class="lineno"> 1400</span>        }</div>
<div class="line"><a id="l01401" name="l01401"></a><span class="lineno"> 1401</span>        avio_read(pb, attachment, len);</div>
<div class="line"><a id="l01402" name="l01402"></a><span class="lineno"> 1402</span>        memset(attachment + len, 0, AV_INPUT_BUFFER_PADDING_SIZE);</div>
<div class="line"><a id="l01403" name="l01403"></a><span class="lineno"> 1403</span> </div>
<div class="line"><a id="l01404" name="l01404"></a><span class="lineno"> 1404</span>        ost = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9a9fcec0683225b551dc440fe87bc234">new_attachment_stream</a>(mux, o, NULL);</div>
<div class="line"><a id="l01405" name="l01405"></a><span class="lineno"> 1405</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#aa65108bd50cba339c4ad09ffc5fe77ac">attachment_filename</a>       = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#accc18b7847026b5885533035c97b50ba">attachments</a>[i];</div>
<div class="line"><a id="l01406" name="l01406"></a><span class="lineno"> 1406</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;extradata      = attachment;</div>
<div class="line"><a id="l01407" name="l01407"></a><span class="lineno"> 1407</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;extradata_size = len;</div>
<div class="line"><a id="l01408" name="l01408"></a><span class="lineno"> 1408</span> </div>
<div class="line"><a id="l01409" name="l01409"></a><span class="lineno"> 1409</span>        p = strrchr(o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#accc18b7847026b5885533035c97b50ba">attachments</a>[i], <span class="charliteral">&#39;/&#39;</span>);</div>
<div class="line"><a id="l01410" name="l01410"></a><span class="lineno"> 1410</span>        av_dict_set(&amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;metadata, <span class="stringliteral">&quot;filename&quot;</span>, (p &amp;&amp; *p) ? p + 1 : o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#accc18b7847026b5885533035c97b50ba">attachments</a>[i], AV_DICT_DONT_OVERWRITE);</div>
<div class="line"><a id="l01411" name="l01411"></a><span class="lineno"> 1411</span>        avio_closep(&amp;pb);</div>
<div class="line"><a id="l01412" name="l01412"></a><span class="lineno"> 1412</span>    }</div>
<div class="line"><a id="l01413" name="l01413"></a><span class="lineno"> 1413</span>}</div>
<div class="line"><a id="l01414" name="l01414"></a><span class="lineno"> 1414</span> </div>
<div class="line"><a id="l01415" name="l01415"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a0142101b583a6d8d1e00a043cd6ece42"> 1415</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a0142101b583a6d8d1e00a043cd6ece42">create_streams</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o)</div>
<div class="line"><a id="l01416" name="l01416"></a><span class="lineno"> 1416</span>{</div>
<div class="line"><a id="l01417" name="l01417"></a><span class="lineno"> 1417</span>    AVFormatContext *oc = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>;</div>
<div class="line"><a id="l01418" name="l01418"></a><span class="lineno"> 1418</span>    <span class="keywordtype">int</span> auto_disable_v = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a9cef7b5ff74cf5f810d8bae95b516c66">video_disable</a>;</div>
<div class="line"><a id="l01419" name="l01419"></a><span class="lineno"> 1419</span>    <span class="keywordtype">int</span> auto_disable_a = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#aa38553d671e91b5ad6d136923055e5bb">audio_disable</a>;</div>
<div class="line"><a id="l01420" name="l01420"></a><span class="lineno"> 1420</span>    <span class="keywordtype">int</span> auto_disable_s = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#af54b258dc24371896f1278cc2652472e">subtitle_disable</a>;</div>
<div class="line"><a id="l01421" name="l01421"></a><span class="lineno"> 1421</span>    <span class="keywordtype">int</span> auto_disable_d = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a98dc9e32a35d8357e85325bf995fc9ac">data_disable</a>;</div>
<div class="line"><a id="l01422" name="l01422"></a><span class="lineno"> 1422</span> </div>
<div class="line"><a id="l01423" name="l01423"></a><span class="lineno"> 1423</span>    <span class="comment">/* create streams for all unlabeled output pads */</span></div>
<div class="line"><a id="l01424" name="l01424"></a><span class="lineno"> 1424</span>    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#ac69138c251f85a6e3233c9a70884be93">nb_filtergraphs</a>; i++) {</div>
<div class="line"><a id="l01425" name="l01425"></a><span class="lineno"> 1425</span>        <a class="code hl_struct" href="../../d9/de7/struct_filter_graph.html">FilterGraph</a> *fg = <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a902ed0b2ffc617e274426bc05118f1c3">filtergraphs</a>[i];</div>
<div class="line"><a id="l01426" name="l01426"></a><span class="lineno"> 1426</span>        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; fg-&gt;<a class="code hl_variable" href="../../d9/de7/struct_filter_graph.html#a92c7f6faf7e95b259bce1c717d43b4ee">nb_outputs</a>; j++) {</div>
<div class="line"><a id="l01427" name="l01427"></a><span class="lineno"> 1427</span>            <a class="code hl_struct" href="../../d0/d0f/struct_output_filter.html">OutputFilter</a> *ofilter = fg-&gt;<a class="code hl_variable" href="../../d9/de7/struct_filter_graph.html#aa078de74cae0940747ba826567b74aef">outputs</a>[j];</div>
<div class="line"><a id="l01428" name="l01428"></a><span class="lineno"> 1428</span> </div>
<div class="line"><a id="l01429" name="l01429"></a><span class="lineno"> 1429</span>            <span class="keywordflow">if</span> (!ofilter-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#a1571021ae59382241c925f7ee613cd7d">out_tmp</a> || ofilter-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#a1571021ae59382241c925f7ee613cd7d">out_tmp</a>-&gt;name)</div>
<div class="line"><a id="l01430" name="l01430"></a><span class="lineno"> 1430</span>                <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l01431" name="l01431"></a><span class="lineno"> 1431</span> </div>
<div class="line"><a id="l01432" name="l01432"></a><span class="lineno"> 1432</span>            <span class="keywordflow">switch</span> (ofilter-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#aed4c46a5df26ff71f3f718a0056af294">type</a>) {</div>
<div class="line"><a id="l01433" name="l01433"></a><span class="lineno"> 1433</span>            <span class="keywordflow">case</span> AVMEDIA_TYPE_VIDEO:    auto_disable_v = 1; <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01434" name="l01434"></a><span class="lineno"> 1434</span>            <span class="keywordflow">case</span> AVMEDIA_TYPE_AUDIO:    auto_disable_a = 1; <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01435" name="l01435"></a><span class="lineno"> 1435</span>            <span class="keywordflow">case</span> AVMEDIA_TYPE_SUBTITLE: auto_disable_s = 1; <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01436" name="l01436"></a><span class="lineno"> 1436</span>            }</div>
<div class="line"><a id="l01437" name="l01437"></a><span class="lineno"> 1437</span>            <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3a72cc131ee4055931b3f0365bb29243">init_output_filter</a>(ofilter, o, mux);</div>
<div class="line"><a id="l01438" name="l01438"></a><span class="lineno"> 1438</span>        }</div>
<div class="line"><a id="l01439" name="l01439"></a><span class="lineno"> 1439</span>    }</div>
<div class="line"><a id="l01440" name="l01440"></a><span class="lineno"> 1440</span> </div>
<div class="line"><a id="l01441" name="l01441"></a><span class="lineno"> 1441</span>    <span class="keywordflow">if</span> (!o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a118cc0b28c0c40281c69827b323e4a78">nb_stream_maps</a>) {</div>
<div class="line"><a id="l01442" name="l01442"></a><span class="lineno"> 1442</span>        <span class="comment">/* pick the &quot;best&quot; stream of each type */</span></div>
<div class="line"><a id="l01443" name="l01443"></a><span class="lineno"> 1443</span>        <span class="keywordflow">if</span> (!auto_disable_v)</div>
<div class="line"><a id="l01444" name="l01444"></a><span class="lineno"> 1444</span>            <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8fd5c9176713d0cb38ce640568056ad3">map_auto_video</a>(mux, o);</div>
<div class="line"><a id="l01445" name="l01445"></a><span class="lineno"> 1445</span>        <span class="keywordflow">if</span> (!auto_disable_a)</div>
<div class="line"><a id="l01446" name="l01446"></a><span class="lineno"> 1446</span>            <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9d42eeec6f1648a7ed4b931c21d054d1">map_auto_audio</a>(mux, o);</div>
<div class="line"><a id="l01447" name="l01447"></a><span class="lineno"> 1447</span>        <span class="keywordflow">if</span> (!auto_disable_s)</div>
<div class="line"><a id="l01448" name="l01448"></a><span class="lineno"> 1448</span>            <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae69bc1d8fbc8a3f1598f25478a0a591a">map_auto_subtitle</a>(mux, o);</div>
<div class="line"><a id="l01449" name="l01449"></a><span class="lineno"> 1449</span>        <span class="keywordflow">if</span> (!auto_disable_d)</div>
<div class="line"><a id="l01450" name="l01450"></a><span class="lineno"> 1450</span>            <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aeb02e34a2d84cc720ef02cff54096e20">map_auto_data</a>(mux, o);</div>
<div class="line"><a id="l01451" name="l01451"></a><span class="lineno"> 1451</span>    } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01452" name="l01452"></a><span class="lineno"> 1452</span>        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a118cc0b28c0c40281c69827b323e4a78">nb_stream_maps</a>; i++)</div>
<div class="line"><a id="l01453" name="l01453"></a><span class="lineno"> 1453</span>            <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a77c723e24786acc43ee9c9a2d37af890">map_manual</a>(mux, o, &amp;o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a4675becf36ed5d3e6510b3e9c9ac4d77">stream_maps</a>[i]);</div>
<div class="line"><a id="l01454" name="l01454"></a><span class="lineno"> 1454</span>    }</div>
<div class="line"><a id="l01455" name="l01455"></a><span class="lineno"> 1455</span> </div>
<div class="line"><a id="l01456" name="l01456"></a><span class="lineno"> 1456</span>    <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a70f992780606e51c44a27c9b9bdafa1c">of_add_attachments</a>(mux, o);</div>
<div class="line"><a id="l01457" name="l01457"></a><span class="lineno"> 1457</span> </div>
<div class="line"><a id="l01458" name="l01458"></a><span class="lineno"> 1458</span>    <span class="keywordflow">if</span> (!oc-&gt;nb_streams &amp;&amp; !(oc-&gt;oformat-&gt;flags &amp; AVFMT_NOSTREAMS)) {</div>
<div class="line"><a id="l01459" name="l01459"></a><span class="lineno"> 1459</span>        av_dump_format(oc, <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a3d777831518f2c831790dd5cd6b96ddf">nb_output_files</a> - 1, oc-&gt;url, 1);</div>
<div class="line"><a id="l01460" name="l01460"></a><span class="lineno"> 1460</span>        av_log(mux, AV_LOG_ERROR, <span class="stringliteral">&quot;Output file does not contain any stream\n&quot;</span>);</div>
<div class="line"><a id="l01461" name="l01461"></a><span class="lineno"> 1461</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01462" name="l01462"></a><span class="lineno"> 1462</span>    }</div>
<div class="line"><a id="l01463" name="l01463"></a><span class="lineno"> 1463</span>}</div>
<div class="line"><a id="l01464" name="l01464"></a><span class="lineno"> 1464</span> </div>
<div class="line"><a id="l01465" name="l01465"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a88a0a2a6fdf606bc1d5268938a2e6cae"> 1465</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a88a0a2a6fdf606bc1d5268938a2e6cae">setup_sync_queues</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, AVFormatContext *oc, int64_t buf_size_us)</div>
<div class="line"><a id="l01466" name="l01466"></a><span class="lineno"> 1466</span>{</div>
<div class="line"><a id="l01467" name="l01467"></a><span class="lineno"> 1467</span>    <a class="code hl_struct" href="../../de/df2/struct_output_file.html">OutputFile</a> *of = &amp;mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>;</div>
<div class="line"><a id="l01468" name="l01468"></a><span class="lineno"> 1468</span>    <span class="keywordtype">int</span> nb_av_enc = 0, nb_interleaved = 0;</div>
<div class="line"><a id="l01469" name="l01469"></a><span class="lineno"> 1469</span>    <span class="keywordtype">int</span> limit_frames = 0, limit_frames_av_enc = 0;</div>
<div class="line"><a id="l01470" name="l01470"></a><span class="lineno"> 1470</span> </div>
<div class="line"><a id="l01471" name="l01471"></a><span class="lineno"> 1471</span><span class="preprocessor">#define IS_AV_ENC(ost, type)  \</span></div>
<div class="line"><a id="l01472" name="l01472"></a><span class="lineno"> 1472</span><span class="preprocessor">    (ost-&gt;enc_ctx &amp;&amp; (type == AVMEDIA_TYPE_VIDEO || type == AVMEDIA_TYPE_AUDIO))</span></div>
<div class="line"><a id="l01473" name="l01473"></a><span class="lineno"> 1473</span><span class="preprocessor">#define IS_INTERLEAVED(type) (type != AVMEDIA_TYPE_ATTACHMENT)</span></div>
<div class="line"><a id="l01474" name="l01474"></a><span class="lineno"> 1474</span> </div>
<div class="line"><a id="l01475" name="l01475"></a><span class="lineno"> 1475</span>    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; oc-&gt;nb_streams; i++) {</div>
<div class="line"><a id="l01476" name="l01476"></a><span class="lineno"> 1476</span>        <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost = of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a769a46a097161825d6c4a210bc730207">streams</a>[i];</div>
<div class="line"><a id="l01477" name="l01477"></a><span class="lineno"> 1477</span>        <a class="code hl_struct" href="../../d6/d16/struct_mux_stream.html">MuxStream</a>     *ms = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae83a6b9dd35a60f10d79371fb8d1c469">ms_from_ost</a>(ost);</div>
<div class="line"><a id="l01478" name="l01478"></a><span class="lineno"> 1478</span>        <span class="keyword">enum</span> AVMediaType type = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_type;</div>
<div class="line"><a id="l01479" name="l01479"></a><span class="lineno"> 1479</span> </div>
<div class="line"><a id="l01480" name="l01480"></a><span class="lineno"> 1480</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a055e4f411b1accdceac26a10e06f1a68">sq_idx_encode</a> = -1;</div>
<div class="line"><a id="l01481" name="l01481"></a><span class="lineno"> 1481</span>        ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a5568a118e42be001079e09af994748fc">sq_idx_mux</a>    = -1;</div>
<div class="line"><a id="l01482" name="l01482"></a><span class="lineno"> 1482</span> </div>
<div class="line"><a id="l01483" name="l01483"></a><span class="lineno"> 1483</span>        nb_interleaved += <a class="code hl_define" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a7b595315a56124cd3c1e0c8f8c23efba">IS_INTERLEAVED</a>(type);</div>
<div class="line"><a id="l01484" name="l01484"></a><span class="lineno"> 1484</span>        nb_av_enc      += <a class="code hl_define" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a1c774d94956c953bc012db3e5985b374">IS_AV_ENC</a>(ost, type);</div>
<div class="line"><a id="l01485" name="l01485"></a><span class="lineno"> 1485</span> </div>
<div class="line"><a id="l01486" name="l01486"></a><span class="lineno"> 1486</span>        limit_frames        |=  ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a539d669d8a642c2fed6663c9d8014d94">max_frames</a> &lt; INT64_MAX;</div>
<div class="line"><a id="l01487" name="l01487"></a><span class="lineno"> 1487</span>        limit_frames_av_enc |= (ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a539d669d8a642c2fed6663c9d8014d94">max_frames</a> &lt; INT64_MAX) &amp;&amp; <a class="code hl_define" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a1c774d94956c953bc012db3e5985b374">IS_AV_ENC</a>(ost, type);</div>
<div class="line"><a id="l01488" name="l01488"></a><span class="lineno"> 1488</span>    }</div>
<div class="line"><a id="l01489" name="l01489"></a><span class="lineno"> 1489</span> </div>
<div class="line"><a id="l01490" name="l01490"></a><span class="lineno"> 1490</span>    <span class="keywordflow">if</span> (!((nb_interleaved &gt; 1 &amp;&amp; of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#acfef99893985d28ae7f7f6a92e6d1bd7">shortest</a>) ||</div>
<div class="line"><a id="l01491" name="l01491"></a><span class="lineno"> 1491</span>          (nb_interleaved &gt; 0 &amp;&amp; limit_frames)))</div>
<div class="line"><a id="l01492" name="l01492"></a><span class="lineno"> 1492</span>        <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l01493" name="l01493"></a><span class="lineno"> 1493</span> </div>
<div class="line"><a id="l01494" name="l01494"></a><span class="lineno"> 1494</span>    <span class="comment">/* if we have more than one encoded audio/video streams, or at least</span></div>
<div class="line"><a id="l01495" name="l01495"></a><span class="lineno"> 1495</span><span class="comment">     * one encoded audio/video stream is frame-limited, then we</span></div>
<div class="line"><a id="l01496" name="l01496"></a><span class="lineno"> 1496</span><span class="comment">     * synchronize them before encoding */</span></div>
<div class="line"><a id="l01497" name="l01497"></a><span class="lineno"> 1497</span>    <span class="keywordflow">if</span> ((of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#acfef99893985d28ae7f7f6a92e6d1bd7">shortest</a> &amp;&amp; nb_av_enc &gt; 1) || limit_frames_av_enc) {</div>
<div class="line"><a id="l01498" name="l01498"></a><span class="lineno"> 1498</span>        of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a3271350355a05d2563997af82b561e2e">sq_encode</a> = <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a3ebd18ffff189c6c8e0a3b0f857d8d74">sq_alloc</a>(<a class="code hl_enumvalue" href="../../d6/d35/fftools__sync__queue_8h.html#a8ecdcf04d361bd531cc8d36a3b6213b3a3c277ad101e0d5ba2749c5b6df5c22f5">SYNC_QUEUE_FRAMES</a>, buf_size_us);</div>
<div class="line"><a id="l01499" name="l01499"></a><span class="lineno"> 1499</span>        <span class="keywordflow">if</span> (!of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a3271350355a05d2563997af82b561e2e">sq_encode</a>)</div>
<div class="line"><a id="l01500" name="l01500"></a><span class="lineno"> 1500</span>            <span class="keywordflow">return</span> AVERROR(ENOMEM);</div>
<div class="line"><a id="l01501" name="l01501"></a><span class="lineno"> 1501</span> </div>
<div class="line"><a id="l01502" name="l01502"></a><span class="lineno"> 1502</span>        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; oc-&gt;nb_streams; i++) {</div>
<div class="line"><a id="l01503" name="l01503"></a><span class="lineno"> 1503</span>            <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost = of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a769a46a097161825d6c4a210bc730207">streams</a>[i];</div>
<div class="line"><a id="l01504" name="l01504"></a><span class="lineno"> 1504</span>            <a class="code hl_struct" href="../../d6/d16/struct_mux_stream.html">MuxStream</a>     *ms = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae83a6b9dd35a60f10d79371fb8d1c469">ms_from_ost</a>(ost);</div>
<div class="line"><a id="l01505" name="l01505"></a><span class="lineno"> 1505</span>            <span class="keyword">enum</span> AVMediaType type = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_type;</div>
<div class="line"><a id="l01506" name="l01506"></a><span class="lineno"> 1506</span> </div>
<div class="line"><a id="l01507" name="l01507"></a><span class="lineno"> 1507</span>            <span class="keywordflow">if</span> (!<a class="code hl_define" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a1c774d94956c953bc012db3e5985b374">IS_AV_ENC</a>(ost, type))</div>
<div class="line"><a id="l01508" name="l01508"></a><span class="lineno"> 1508</span>                <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l01509" name="l01509"></a><span class="lineno"> 1509</span> </div>
<div class="line"><a id="l01510" name="l01510"></a><span class="lineno"> 1510</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a055e4f411b1accdceac26a10e06f1a68">sq_idx_encode</a> = <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#ae3e36c041fbe68938e84e9b59d7d7c46">sq_add_stream</a>(of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a3271350355a05d2563997af82b561e2e">sq_encode</a>,</div>
<div class="line"><a id="l01511" name="l01511"></a><span class="lineno"> 1511</span>                                               of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#acfef99893985d28ae7f7f6a92e6d1bd7">shortest</a> || ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a539d669d8a642c2fed6663c9d8014d94">max_frames</a> &lt; INT64_MAX);</div>
<div class="line"><a id="l01512" name="l01512"></a><span class="lineno"> 1512</span>            <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a055e4f411b1accdceac26a10e06f1a68">sq_idx_encode</a> &lt; 0)</div>
<div class="line"><a id="l01513" name="l01513"></a><span class="lineno"> 1513</span>                <span class="keywordflow">return</span> ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a055e4f411b1accdceac26a10e06f1a68">sq_idx_encode</a>;</div>
<div class="line"><a id="l01514" name="l01514"></a><span class="lineno"> 1514</span> </div>
<div class="line"><a id="l01515" name="l01515"></a><span class="lineno"> 1515</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab0abd8df4fbca9a1978b8a28b3982e81">sq_frame</a> = av_frame_alloc();</div>
<div class="line"><a id="l01516" name="l01516"></a><span class="lineno"> 1516</span>            <span class="keywordflow">if</span> (!ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab0abd8df4fbca9a1978b8a28b3982e81">sq_frame</a>)</div>
<div class="line"><a id="l01517" name="l01517"></a><span class="lineno"> 1517</span>                <span class="keywordflow">return</span> AVERROR(ENOMEM);</div>
<div class="line"><a id="l01518" name="l01518"></a><span class="lineno"> 1518</span> </div>
<div class="line"><a id="l01519" name="l01519"></a><span class="lineno"> 1519</span>            <span class="keywordflow">if</span> (ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a539d669d8a642c2fed6663c9d8014d94">max_frames</a> != INT64_MAX)</div>
<div class="line"><a id="l01520" name="l01520"></a><span class="lineno"> 1520</span>                <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a94edf016e07e0f259e4b515d1f8fea57">sq_limit_frames</a>(of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a3271350355a05d2563997af82b561e2e">sq_encode</a>, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a055e4f411b1accdceac26a10e06f1a68">sq_idx_encode</a>, ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a539d669d8a642c2fed6663c9d8014d94">max_frames</a>);</div>
<div class="line"><a id="l01521" name="l01521"></a><span class="lineno"> 1521</span>        }</div>
<div class="line"><a id="l01522" name="l01522"></a><span class="lineno"> 1522</span>    }</div>
<div class="line"><a id="l01523" name="l01523"></a><span class="lineno"> 1523</span> </div>
<div class="line"><a id="l01524" name="l01524"></a><span class="lineno"> 1524</span>    <span class="comment">/* if there are any additional interleaved streams, then ALL the streams</span></div>
<div class="line"><a id="l01525" name="l01525"></a><span class="lineno"> 1525</span><span class="comment">     * are also synchronized before sending them to the muxer */</span></div>
<div class="line"><a id="l01526" name="l01526"></a><span class="lineno"> 1526</span>    <span class="keywordflow">if</span> (nb_interleaved &gt; nb_av_enc) {</div>
<div class="line"><a id="l01527" name="l01527"></a><span class="lineno"> 1527</span>        mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#aaa259c549cf601c61ed87614ab81d6c0">sq_mux</a> = <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a3ebd18ffff189c6c8e0a3b0f857d8d74">sq_alloc</a>(<a class="code hl_enumvalue" href="../../d6/d35/fftools__sync__queue_8h.html#a8ecdcf04d361bd531cc8d36a3b6213b3a69345b74224b95dc2ec281949375055d">SYNC_QUEUE_PACKETS</a>, buf_size_us);</div>
<div class="line"><a id="l01528" name="l01528"></a><span class="lineno"> 1528</span>        <span class="keywordflow">if</span> (!mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#aaa259c549cf601c61ed87614ab81d6c0">sq_mux</a>)</div>
<div class="line"><a id="l01529" name="l01529"></a><span class="lineno"> 1529</span>            <span class="keywordflow">return</span> AVERROR(ENOMEM);</div>
<div class="line"><a id="l01530" name="l01530"></a><span class="lineno"> 1530</span> </div>
<div class="line"><a id="l01531" name="l01531"></a><span class="lineno"> 1531</span>        mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a5ad40082372f67f798723f4862e636ea">sq_pkt</a> = av_packet_alloc();</div>
<div class="line"><a id="l01532" name="l01532"></a><span class="lineno"> 1532</span>        <span class="keywordflow">if</span> (!mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a5ad40082372f67f798723f4862e636ea">sq_pkt</a>)</div>
<div class="line"><a id="l01533" name="l01533"></a><span class="lineno"> 1533</span>            <span class="keywordflow">return</span> AVERROR(ENOMEM);</div>
<div class="line"><a id="l01534" name="l01534"></a><span class="lineno"> 1534</span> </div>
<div class="line"><a id="l01535" name="l01535"></a><span class="lineno"> 1535</span>        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; oc-&gt;nb_streams; i++) {</div>
<div class="line"><a id="l01536" name="l01536"></a><span class="lineno"> 1536</span>            <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost = of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a769a46a097161825d6c4a210bc730207">streams</a>[i];</div>
<div class="line"><a id="l01537" name="l01537"></a><span class="lineno"> 1537</span>            <a class="code hl_struct" href="../../d6/d16/struct_mux_stream.html">MuxStream</a>     *ms = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae83a6b9dd35a60f10d79371fb8d1c469">ms_from_ost</a>(ost);</div>
<div class="line"><a id="l01538" name="l01538"></a><span class="lineno"> 1538</span>            <span class="keyword">enum</span> AVMediaType type = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_type;</div>
<div class="line"><a id="l01539" name="l01539"></a><span class="lineno"> 1539</span> </div>
<div class="line"><a id="l01540" name="l01540"></a><span class="lineno"> 1540</span>            <span class="keywordflow">if</span> (!<a class="code hl_define" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a7b595315a56124cd3c1e0c8f8c23efba">IS_INTERLEAVED</a>(type))</div>
<div class="line"><a id="l01541" name="l01541"></a><span class="lineno"> 1541</span>                <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l01542" name="l01542"></a><span class="lineno"> 1542</span> </div>
<div class="line"><a id="l01543" name="l01543"></a><span class="lineno"> 1543</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a5568a118e42be001079e09af994748fc">sq_idx_mux</a> = <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#ae3e36c041fbe68938e84e9b59d7d7c46">sq_add_stream</a>(mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#aaa259c549cf601c61ed87614ab81d6c0">sq_mux</a>,</div>
<div class="line"><a id="l01544" name="l01544"></a><span class="lineno"> 1544</span>                                            of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#acfef99893985d28ae7f7f6a92e6d1bd7">shortest</a> || ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a539d669d8a642c2fed6663c9d8014d94">max_frames</a> &lt; INT64_MAX);</div>
<div class="line"><a id="l01545" name="l01545"></a><span class="lineno"> 1545</span>            <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a5568a118e42be001079e09af994748fc">sq_idx_mux</a> &lt; 0)</div>
<div class="line"><a id="l01546" name="l01546"></a><span class="lineno"> 1546</span>                <span class="keywordflow">return</span> ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a5568a118e42be001079e09af994748fc">sq_idx_mux</a>;</div>
<div class="line"><a id="l01547" name="l01547"></a><span class="lineno"> 1547</span> </div>
<div class="line"><a id="l01548" name="l01548"></a><span class="lineno"> 1548</span>            <span class="keywordflow">if</span> (ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a539d669d8a642c2fed6663c9d8014d94">max_frames</a> != INT64_MAX)</div>
<div class="line"><a id="l01549" name="l01549"></a><span class="lineno"> 1549</span>                <a class="code hl_function" href="../../df/dbb/fftools__sync__queue_8c.html#a94edf016e07e0f259e4b515d1f8fea57">sq_limit_frames</a>(mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#aaa259c549cf601c61ed87614ab81d6c0">sq_mux</a>, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a5568a118e42be001079e09af994748fc">sq_idx_mux</a>, ms-&gt;<a class="code hl_variable" href="../../d6/d16/struct_mux_stream.html#a539d669d8a642c2fed6663c9d8014d94">max_frames</a>);</div>
<div class="line"><a id="l01550" name="l01550"></a><span class="lineno"> 1550</span>        }</div>
<div class="line"><a id="l01551" name="l01551"></a><span class="lineno"> 1551</span>    }</div>
<div class="line"><a id="l01552" name="l01552"></a><span class="lineno"> 1552</span> </div>
<div class="line"><a id="l01553" name="l01553"></a><span class="lineno"> 1553</span><span class="preprocessor">#undef IS_AV_ENC</span></div>
<div class="line"><a id="l01554" name="l01554"></a><span class="lineno"> 1554</span><span class="preprocessor">#undef IS_INTERLEAVED</span></div>
<div class="line"><a id="l01555" name="l01555"></a><span class="lineno"> 1555</span> </div>
<div class="line"><a id="l01556" name="l01556"></a><span class="lineno"> 1556</span>    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l01557" name="l01557"></a><span class="lineno"> 1557</span>}</div>
<div class="line"><a id="l01558" name="l01558"></a><span class="lineno"> 1558</span> </div>
<div class="line"><a id="l01559" name="l01559"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a1abc88cf9e325f0110183b521931cde5"> 1559</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a1abc88cf9e325f0110183b521931cde5">of_add_programs</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o)</div>
<div class="line"><a id="l01560" name="l01560"></a><span class="lineno"> 1560</span>{</div>
<div class="line"><a id="l01561" name="l01561"></a><span class="lineno"> 1561</span>    AVFormatContext *oc = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>;</div>
<div class="line"><a id="l01562" name="l01562"></a><span class="lineno"> 1562</span>    <span class="comment">/* process manually set programs */</span></div>
<div class="line"><a id="l01563" name="l01563"></a><span class="lineno"> 1563</span>    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#ab5b3f2e73b482fa9b96f74d2cdd0f012">nb_program</a>; i++) {</div>
<div class="line"><a id="l01564" name="l01564"></a><span class="lineno"> 1564</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> *p = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#ad5b2e0fb210c4bb546852fc813af0797">program</a>[i].<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a396d3e67fde3c170cda70842a1c35521">u</a>.<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a491092bfda9281b509e9f62195490ce4">str</a>;</div>
<div class="line"><a id="l01565" name="l01565"></a><span class="lineno"> 1565</span>        <span class="keywordtype">int</span> progid = i+1;</div>
<div class="line"><a id="l01566" name="l01566"></a><span class="lineno"> 1566</span>        AVProgram *program;</div>
<div class="line"><a id="l01567" name="l01567"></a><span class="lineno"> 1567</span> </div>
<div class="line"><a id="l01568" name="l01568"></a><span class="lineno"> 1568</span>        <span class="keywordflow">while</span>(*p) {</div>
<div class="line"><a id="l01569" name="l01569"></a><span class="lineno"> 1569</span>            <span class="keyword">const</span> <span class="keywordtype">char</span> *p2 = av_get_token(&amp;p, <span class="stringliteral">&quot;:&quot;</span>);</div>
<div class="line"><a id="l01570" name="l01570"></a><span class="lineno"> 1570</span>            <span class="keyword">const</span> <span class="keywordtype">char</span> *to_dealloc = p2;</div>
<div class="line"><a id="l01571" name="l01571"></a><span class="lineno"> 1571</span>            <span class="keywordtype">char</span> *key;</div>
<div class="line"><a id="l01572" name="l01572"></a><span class="lineno"> 1572</span>            <span class="keywordflow">if</span> (!p2)</div>
<div class="line"><a id="l01573" name="l01573"></a><span class="lineno"> 1573</span>                <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01574" name="l01574"></a><span class="lineno"> 1574</span> </div>
<div class="line"><a id="l01575" name="l01575"></a><span class="lineno"> 1575</span>            <span class="keywordflow">if</span>(*p) p++;</div>
<div class="line"><a id="l01576" name="l01576"></a><span class="lineno"> 1576</span> </div>
<div class="line"><a id="l01577" name="l01577"></a><span class="lineno"> 1577</span>            key = av_get_token(&amp;p2, <span class="stringliteral">&quot;=&quot;</span>);</div>
<div class="line"><a id="l01578" name="l01578"></a><span class="lineno"> 1578</span>            <span class="keywordflow">if</span> (!key || !*p2) {</div>
<div class="line"><a id="l01579" name="l01579"></a><span class="lineno"> 1579</span>                av_freep(&amp;to_dealloc);</div>
<div class="line"><a id="l01580" name="l01580"></a><span class="lineno"> 1580</span>                av_freep(&amp;key);</div>
<div class="line"><a id="l01581" name="l01581"></a><span class="lineno"> 1581</span>                <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01582" name="l01582"></a><span class="lineno"> 1582</span>            }</div>
<div class="line"><a id="l01583" name="l01583"></a><span class="lineno"> 1583</span>            p2++;</div>
<div class="line"><a id="l01584" name="l01584"></a><span class="lineno"> 1584</span> </div>
<div class="line"><a id="l01585" name="l01585"></a><span class="lineno"> 1585</span>            <span class="keywordflow">if</span> (!strcmp(key, <span class="stringliteral">&quot;program_num&quot;</span>))</div>
<div class="line"><a id="l01586" name="l01586"></a><span class="lineno"> 1586</span>                progid = strtol(p2, NULL, 0);</div>
<div class="line"><a id="l01587" name="l01587"></a><span class="lineno"> 1587</span>            av_freep(&amp;to_dealloc);</div>
<div class="line"><a id="l01588" name="l01588"></a><span class="lineno"> 1588</span>            av_freep(&amp;key);</div>
<div class="line"><a id="l01589" name="l01589"></a><span class="lineno"> 1589</span>        }</div>
<div class="line"><a id="l01590" name="l01590"></a><span class="lineno"> 1590</span> </div>
<div class="line"><a id="l01591" name="l01591"></a><span class="lineno"> 1591</span>        program = av_new_program(oc, progid);</div>
<div class="line"><a id="l01592" name="l01592"></a><span class="lineno"> 1592</span>        <span class="keywordflow">if</span> (!program)</div>
<div class="line"><a id="l01593" name="l01593"></a><span class="lineno"> 1593</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l01594" name="l01594"></a><span class="lineno"> 1594</span> </div>
<div class="line"><a id="l01595" name="l01595"></a><span class="lineno"> 1595</span>        p = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#ad5b2e0fb210c4bb546852fc813af0797">program</a>[i].<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a396d3e67fde3c170cda70842a1c35521">u</a>.<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a491092bfda9281b509e9f62195490ce4">str</a>;</div>
<div class="line"><a id="l01596" name="l01596"></a><span class="lineno"> 1596</span>        <span class="keywordflow">while</span>(*p) {</div>
<div class="line"><a id="l01597" name="l01597"></a><span class="lineno"> 1597</span>            <span class="keyword">const</span> <span class="keywordtype">char</span> *p2 = av_get_token(&amp;p, <span class="stringliteral">&quot;:&quot;</span>);</div>
<div class="line"><a id="l01598" name="l01598"></a><span class="lineno"> 1598</span>            <span class="keyword">const</span> <span class="keywordtype">char</span> *to_dealloc = p2;</div>
<div class="line"><a id="l01599" name="l01599"></a><span class="lineno"> 1599</span>            <span class="keywordtype">char</span> *key;</div>
<div class="line"><a id="l01600" name="l01600"></a><span class="lineno"> 1600</span>            <span class="keywordflow">if</span> (!p2)</div>
<div class="line"><a id="l01601" name="l01601"></a><span class="lineno"> 1601</span>                <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01602" name="l01602"></a><span class="lineno"> 1602</span>            <span class="keywordflow">if</span>(*p) p++;</div>
<div class="line"><a id="l01603" name="l01603"></a><span class="lineno"> 1603</span> </div>
<div class="line"><a id="l01604" name="l01604"></a><span class="lineno"> 1604</span>            key = av_get_token(&amp;p2, <span class="stringliteral">&quot;=&quot;</span>);</div>
<div class="line"><a id="l01605" name="l01605"></a><span class="lineno"> 1605</span>            <span class="keywordflow">if</span> (!key) {</div>
<div class="line"><a id="l01606" name="l01606"></a><span class="lineno"> 1606</span>                av_log(mux, AV_LOG_FATAL,</div>
<div class="line"><a id="l01607" name="l01607"></a><span class="lineno"> 1607</span>                       <span class="stringliteral">&quot;No &#39;=&#39; character in program string %s.\n&quot;</span>,</div>
<div class="line"><a id="l01608" name="l01608"></a><span class="lineno"> 1608</span>                       p2);</div>
<div class="line"><a id="l01609" name="l01609"></a><span class="lineno"> 1609</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01610" name="l01610"></a><span class="lineno"> 1610</span>            }</div>
<div class="line"><a id="l01611" name="l01611"></a><span class="lineno"> 1611</span>            <span class="keywordflow">if</span> (!*p2)</div>
<div class="line"><a id="l01612" name="l01612"></a><span class="lineno"> 1612</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01613" name="l01613"></a><span class="lineno"> 1613</span>            p2++;</div>
<div class="line"><a id="l01614" name="l01614"></a><span class="lineno"> 1614</span> </div>
<div class="line"><a id="l01615" name="l01615"></a><span class="lineno"> 1615</span>            <span class="keywordflow">if</span> (!strcmp(key, <span class="stringliteral">&quot;title&quot;</span>)) {</div>
<div class="line"><a id="l01616" name="l01616"></a><span class="lineno"> 1616</span>                av_dict_set(&amp;program-&gt;metadata, <span class="stringliteral">&quot;title&quot;</span>, p2, 0);</div>
<div class="line"><a id="l01617" name="l01617"></a><span class="lineno"> 1617</span>            } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(key, <span class="stringliteral">&quot;program_num&quot;</span>)) {</div>
<div class="line"><a id="l01618" name="l01618"></a><span class="lineno"> 1618</span>            } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(key, <span class="stringliteral">&quot;st&quot;</span>)) {</div>
<div class="line"><a id="l01619" name="l01619"></a><span class="lineno"> 1619</span>                <span class="keywordtype">int</span> st_num = strtol(p2, NULL, 0);</div>
<div class="line"><a id="l01620" name="l01620"></a><span class="lineno"> 1620</span>                av_program_add_stream_index(oc, progid, st_num);</div>
<div class="line"><a id="l01621" name="l01621"></a><span class="lineno"> 1621</span>            } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01622" name="l01622"></a><span class="lineno"> 1622</span>                av_log(mux, AV_LOG_FATAL, <span class="stringliteral">&quot;Unknown program key %s.\n&quot;</span>, key);</div>
<div class="line"><a id="l01623" name="l01623"></a><span class="lineno"> 1623</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01624" name="l01624"></a><span class="lineno"> 1624</span>            }</div>
<div class="line"><a id="l01625" name="l01625"></a><span class="lineno"> 1625</span>            av_freep(&amp;to_dealloc);</div>
<div class="line"><a id="l01626" name="l01626"></a><span class="lineno"> 1626</span>            av_freep(&amp;key);</div>
<div class="line"><a id="l01627" name="l01627"></a><span class="lineno"> 1627</span>        }</div>
<div class="line"><a id="l01628" name="l01628"></a><span class="lineno"> 1628</span>    }</div>
<div class="line"><a id="l01629" name="l01629"></a><span class="lineno"> 1629</span>}</div>
<div class="line"><a id="l01630" name="l01630"></a><span class="lineno"> 1630</span> </div>
<div class="line"><a id="l01638" name="l01638"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aab1d482498653dcda375b3f0a6145d7e"> 1638</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aab1d482498653dcda375b3f0a6145d7e">parse_meta_type</a>(<span class="keywordtype">void</span> *logctx, <span class="keyword">const</span> <span class="keywordtype">char</span> *arg,</div>
<div class="line"><a id="l01639" name="l01639"></a><span class="lineno"> 1639</span>                            <span class="keywordtype">char</span> *type, <span class="keywordtype">int</span> *index, <span class="keyword">const</span> <span class="keywordtype">char</span> **stream_spec)</div>
<div class="line"><a id="l01640" name="l01640"></a><span class="lineno"> 1640</span>{</div>
<div class="line"><a id="l01641" name="l01641"></a><span class="lineno"> 1641</span>    <span class="keywordflow">if</span> (*arg) {</div>
<div class="line"><a id="l01642" name="l01642"></a><span class="lineno"> 1642</span>        *type = *arg;</div>
<div class="line"><a id="l01643" name="l01643"></a><span class="lineno"> 1643</span>        <span class="keywordflow">switch</span> (*arg) {</div>
<div class="line"><a id="l01644" name="l01644"></a><span class="lineno"> 1644</span>        <span class="keywordflow">case</span> <span class="charliteral">&#39;g&#39;</span>:</div>
<div class="line"><a id="l01645" name="l01645"></a><span class="lineno"> 1645</span>            <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01646" name="l01646"></a><span class="lineno"> 1646</span>        <span class="keywordflow">case</span> <span class="charliteral">&#39;s&#39;</span>:</div>
<div class="line"><a id="l01647" name="l01647"></a><span class="lineno"> 1647</span>            <span class="keywordflow">if</span> (*(++arg) &amp;&amp; *arg != <span class="charliteral">&#39;:&#39;</span>) {</div>
<div class="line"><a id="l01648" name="l01648"></a><span class="lineno"> 1648</span>                av_log(logctx, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid metadata specifier %s.\n&quot;</span>, arg);</div>
<div class="line"><a id="l01649" name="l01649"></a><span class="lineno"> 1649</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01650" name="l01650"></a><span class="lineno"> 1650</span>            }</div>
<div class="line"><a id="l01651" name="l01651"></a><span class="lineno"> 1651</span>            *stream_spec = *arg == <span class="charliteral">&#39;:&#39;</span> ? arg + 1 : <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l01652" name="l01652"></a><span class="lineno"> 1652</span>            <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01653" name="l01653"></a><span class="lineno"> 1653</span>        <span class="keywordflow">case</span> <span class="charliteral">&#39;c&#39;</span>:</div>
<div class="line"><a id="l01654" name="l01654"></a><span class="lineno"> 1654</span>        <span class="keywordflow">case</span> <span class="charliteral">&#39;p&#39;</span>:</div>
<div class="line"><a id="l01655" name="l01655"></a><span class="lineno"> 1655</span>            <span class="keywordflow">if</span> (*(++arg) == <span class="charliteral">&#39;:&#39;</span>)</div>
<div class="line"><a id="l01656" name="l01656"></a><span class="lineno"> 1656</span>                *index = strtol(++arg, NULL, 0);</div>
<div class="line"><a id="l01657" name="l01657"></a><span class="lineno"> 1657</span>            <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01658" name="l01658"></a><span class="lineno"> 1658</span>        <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l01659" name="l01659"></a><span class="lineno"> 1659</span>            av_log(logctx, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid metadata type %c.\n&quot;</span>, *arg);</div>
<div class="line"><a id="l01660" name="l01660"></a><span class="lineno"> 1660</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01661" name="l01661"></a><span class="lineno"> 1661</span>        }</div>
<div class="line"><a id="l01662" name="l01662"></a><span class="lineno"> 1662</span>    } <span class="keywordflow">else</span></div>
<div class="line"><a id="l01663" name="l01663"></a><span class="lineno"> 1663</span>        *type = <span class="charliteral">&#39;g&#39;</span>;</div>
<div class="line"><a id="l01664" name="l01664"></a><span class="lineno"> 1664</span>}</div>
<div class="line"><a id="l01665" name="l01665"></a><span class="lineno"> 1665</span> </div>
<div class="line"><a id="l01666" name="l01666"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae1d7e15bf63b966dad71bd77a9864f9e"> 1666</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae1d7e15bf63b966dad71bd77a9864f9e">of_add_metadata</a>(<a class="code hl_struct" href="../../de/df2/struct_output_file.html">OutputFile</a> *of, AVFormatContext *oc,</div>
<div class="line"><a id="l01667" name="l01667"></a><span class="lineno"> 1667</span>                            <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o)</div>
<div class="line"><a id="l01668" name="l01668"></a><span class="lineno"> 1668</span>{</div>
<div class="line"><a id="l01669" name="l01669"></a><span class="lineno"> 1669</span>    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a54dfb761028d4c10ed38c63a29f846ce">nb_metadata</a>; i++) {</div>
<div class="line"><a id="l01670" name="l01670"></a><span class="lineno"> 1670</span>        AVDictionary **m;</div>
<div class="line"><a id="l01671" name="l01671"></a><span class="lineno"> 1671</span>        <span class="keywordtype">char</span> type, *val;</div>
<div class="line"><a id="l01672" name="l01672"></a><span class="lineno"> 1672</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> *stream_spec;</div>
<div class="line"><a id="l01673" name="l01673"></a><span class="lineno"> 1673</span>        <span class="keywordtype">int</span> index = 0, ret = 0;</div>
<div class="line"><a id="l01674" name="l01674"></a><span class="lineno"> 1674</span> </div>
<div class="line"><a id="l01675" name="l01675"></a><span class="lineno"> 1675</span>        val = strchr(o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a65dd95e326773a3c90feee5d1646910c">metadata</a>[i].<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a396d3e67fde3c170cda70842a1c35521">u</a>.<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a491092bfda9281b509e9f62195490ce4">str</a>, <span class="charliteral">&#39;=&#39;</span>);</div>
<div class="line"><a id="l01676" name="l01676"></a><span class="lineno"> 1676</span>        <span class="keywordflow">if</span> (!val) {</div>
<div class="line"><a id="l01677" name="l01677"></a><span class="lineno"> 1677</span>            av_log(of, AV_LOG_FATAL, <span class="stringliteral">&quot;No &#39;=&#39; character in metadata string %s.\n&quot;</span>,</div>
<div class="line"><a id="l01678" name="l01678"></a><span class="lineno"> 1678</span>                   o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a65dd95e326773a3c90feee5d1646910c">metadata</a>[i].<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a396d3e67fde3c170cda70842a1c35521">u</a>.<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a491092bfda9281b509e9f62195490ce4">str</a>);</div>
<div class="line"><a id="l01679" name="l01679"></a><span class="lineno"> 1679</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01680" name="l01680"></a><span class="lineno"> 1680</span>        }</div>
<div class="line"><a id="l01681" name="l01681"></a><span class="lineno"> 1681</span>        *val++ = 0;</div>
<div class="line"><a id="l01682" name="l01682"></a><span class="lineno"> 1682</span> </div>
<div class="line"><a id="l01683" name="l01683"></a><span class="lineno"> 1683</span>        <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aab1d482498653dcda375b3f0a6145d7e">parse_meta_type</a>(of, o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a65dd95e326773a3c90feee5d1646910c">metadata</a>[i].<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#ab83e423aec2a2d42a29daae047dcdb81">specifier</a>, &amp;type, &amp;index, &amp;stream_spec);</div>
<div class="line"><a id="l01684" name="l01684"></a><span class="lineno"> 1684</span>        <span class="keywordflow">if</span> (type == <span class="charliteral">&#39;s&#39;</span>) {</div>
<div class="line"><a id="l01685" name="l01685"></a><span class="lineno"> 1685</span>            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; oc-&gt;nb_streams; j++) {</div>
<div class="line"><a id="l01686" name="l01686"></a><span class="lineno"> 1686</span>                <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost = of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a769a46a097161825d6c4a210bc730207">streams</a>[j];</div>
<div class="line"><a id="l01687" name="l01687"></a><span class="lineno"> 1687</span>                <span class="keywordflow">if</span> ((ret = <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a632b71e4b56c5ee8556a407bbecbcef8">check_stream_specifier</a>(oc, oc-&gt;streams[j], stream_spec)) &gt; 0) {</div>
<div class="line"><a id="l01688" name="l01688"></a><span class="lineno"> 1688</span><span class="preprocessor">#if FFMPEG_ROTATION_METADATA</span></div>
<div class="line"><a id="l01689" name="l01689"></a><span class="lineno"> 1689</span>                    <span class="keywordflow">if</span> (!strcmp(o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a65dd95e326773a3c90feee5d1646910c">metadata</a>[i].<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a396d3e67fde3c170cda70842a1c35521">u</a>.<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a491092bfda9281b509e9f62195490ce4">str</a>, <span class="stringliteral">&quot;rotate&quot;</span>)) {</div>
<div class="line"><a id="l01690" name="l01690"></a><span class="lineno"> 1690</span>                        <span class="keywordtype">char</span> *tail;</div>
<div class="line"><a id="l01691" name="l01691"></a><span class="lineno"> 1691</span>                        <span class="keywordtype">double</span> theta = av_strtod(val, &amp;tail);</div>
<div class="line"><a id="l01692" name="l01692"></a><span class="lineno"> 1692</span>                        <span class="keywordflow">if</span> (!*tail) {</div>
<div class="line"><a id="l01693" name="l01693"></a><span class="lineno"> 1693</span>                            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ae27ba6d2051d62f704c5693133b58b11">rotate_overridden</a> = 1;</div>
<div class="line"><a id="l01694" name="l01694"></a><span class="lineno"> 1694</span>                            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a3752b3243f9a089543bc1dc67b3de3fc">rotate_override_value</a> = theta;</div>
<div class="line"><a id="l01695" name="l01695"></a><span class="lineno"> 1695</span>                        }</div>
<div class="line"><a id="l01696" name="l01696"></a><span class="lineno"> 1696</span> </div>
<div class="line"><a id="l01697" name="l01697"></a><span class="lineno"> 1697</span>                        av_log(ost, AV_LOG_WARNING,</div>
<div class="line"><a id="l01698" name="l01698"></a><span class="lineno"> 1698</span>                               <span class="stringliteral">&quot;Conversion of a &#39;rotate&#39; metadata key to a &quot;</span></div>
<div class="line"><a id="l01699" name="l01699"></a><span class="lineno"> 1699</span>                               <span class="stringliteral">&quot;proper display matrix rotation is deprecated. &quot;</span></div>
<div class="line"><a id="l01700" name="l01700"></a><span class="lineno"> 1700</span>                               <span class="stringliteral">&quot;See -display_rotation for setting rotation &quot;</span></div>
<div class="line"><a id="l01701" name="l01701"></a><span class="lineno"> 1701</span>                               <span class="stringliteral">&quot;instead.&quot;</span>);</div>
<div class="line"><a id="l01702" name="l01702"></a><span class="lineno"> 1702</span>                    } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01703" name="l01703"></a><span class="lineno"> 1703</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l01704" name="l01704"></a><span class="lineno"> 1704</span>                        av_dict_set(&amp;oc-&gt;streams[j]-&gt;metadata, o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a65dd95e326773a3c90feee5d1646910c">metadata</a>[i].<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a396d3e67fde3c170cda70842a1c35521">u</a>.<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a491092bfda9281b509e9f62195490ce4">str</a>, *val ? val : NULL, 0);</div>
<div class="line"><a id="l01705" name="l01705"></a><span class="lineno"> 1705</span><span class="preprocessor">#if FFMPEG_ROTATION_METADATA</span></div>
<div class="line"><a id="l01706" name="l01706"></a><span class="lineno"> 1706</span>                    }</div>
<div class="line"><a id="l01707" name="l01707"></a><span class="lineno"> 1707</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l01708" name="l01708"></a><span class="lineno"> 1708</span>                } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ret &lt; 0)</div>
<div class="line"><a id="l01709" name="l01709"></a><span class="lineno"> 1709</span>                    <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01710" name="l01710"></a><span class="lineno"> 1710</span>            }</div>
<div class="line"><a id="l01711" name="l01711"></a><span class="lineno"> 1711</span>        } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01712" name="l01712"></a><span class="lineno"> 1712</span>            <span class="keywordflow">switch</span> (type) {</div>
<div class="line"><a id="l01713" name="l01713"></a><span class="lineno"> 1713</span>            <span class="keywordflow">case</span> <span class="charliteral">&#39;g&#39;</span>:</div>
<div class="line"><a id="l01714" name="l01714"></a><span class="lineno"> 1714</span>                m = &amp;oc-&gt;metadata;</div>
<div class="line"><a id="l01715" name="l01715"></a><span class="lineno"> 1715</span>                <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01716" name="l01716"></a><span class="lineno"> 1716</span>            <span class="keywordflow">case</span> <span class="charliteral">&#39;c&#39;</span>:</div>
<div class="line"><a id="l01717" name="l01717"></a><span class="lineno"> 1717</span>                <span class="keywordflow">if</span> (index &lt; 0 || index &gt;= oc-&gt;nb_chapters) {</div>
<div class="line"><a id="l01718" name="l01718"></a><span class="lineno"> 1718</span>                    av_log(of, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid chapter index %d in metadata specifier.\n&quot;</span>, index);</div>
<div class="line"><a id="l01719" name="l01719"></a><span class="lineno"> 1719</span>                    <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01720" name="l01720"></a><span class="lineno"> 1720</span>                }</div>
<div class="line"><a id="l01721" name="l01721"></a><span class="lineno"> 1721</span>                m = &amp;oc-&gt;chapters[index]-&gt;metadata;</div>
<div class="line"><a id="l01722" name="l01722"></a><span class="lineno"> 1722</span>                <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01723" name="l01723"></a><span class="lineno"> 1723</span>            <span class="keywordflow">case</span> <span class="charliteral">&#39;p&#39;</span>:</div>
<div class="line"><a id="l01724" name="l01724"></a><span class="lineno"> 1724</span>                <span class="keywordflow">if</span> (index &lt; 0 || index &gt;= oc-&gt;nb_programs) {</div>
<div class="line"><a id="l01725" name="l01725"></a><span class="lineno"> 1725</span>                    av_log(of, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid program index %d in metadata specifier.\n&quot;</span>, index);</div>
<div class="line"><a id="l01726" name="l01726"></a><span class="lineno"> 1726</span>                    <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01727" name="l01727"></a><span class="lineno"> 1727</span>                }</div>
<div class="line"><a id="l01728" name="l01728"></a><span class="lineno"> 1728</span>                m = &amp;oc-&gt;programs[index]-&gt;metadata;</div>
<div class="line"><a id="l01729" name="l01729"></a><span class="lineno"> 1729</span>                <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01730" name="l01730"></a><span class="lineno"> 1730</span>            <span class="keywordflow">default</span>:</div>
<div class="line"><a id="l01731" name="l01731"></a><span class="lineno"> 1731</span>                av_log(of, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid metadata specifier %s.\n&quot;</span>, o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a65dd95e326773a3c90feee5d1646910c">metadata</a>[i].<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#ab83e423aec2a2d42a29daae047dcdb81">specifier</a>);</div>
<div class="line"><a id="l01732" name="l01732"></a><span class="lineno"> 1732</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01733" name="l01733"></a><span class="lineno"> 1733</span>            }</div>
<div class="line"><a id="l01734" name="l01734"></a><span class="lineno"> 1734</span>            av_dict_set(m, o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a65dd95e326773a3c90feee5d1646910c">metadata</a>[i].<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a396d3e67fde3c170cda70842a1c35521">u</a>.<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a491092bfda9281b509e9f62195490ce4">str</a>, *val ? val : NULL, 0);</div>
<div class="line"><a id="l01735" name="l01735"></a><span class="lineno"> 1735</span>        }</div>
<div class="line"><a id="l01736" name="l01736"></a><span class="lineno"> 1736</span>    }</div>
<div class="line"><a id="l01737" name="l01737"></a><span class="lineno"> 1737</span>}</div>
<div class="line"><a id="l01738" name="l01738"></a><span class="lineno"> 1738</span> </div>
<div class="line"><a id="l01739" name="l01739"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a98cf71315f3d23600d7b8fdec5aa9198"> 1739</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a98cf71315f3d23600d7b8fdec5aa9198">set_channel_layout</a>(<a class="code hl_struct" href="../../d0/d0f/struct_output_filter.html">OutputFilter</a> *f, <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost)</div>
<div class="line"><a id="l01740" name="l01740"></a><span class="lineno"> 1740</span>{</div>
<div class="line"><a id="l01741" name="l01741"></a><span class="lineno"> 1741</span>    <span class="keyword">const</span> AVCodec *c = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;codec;</div>
<div class="line"><a id="l01742" name="l01742"></a><span class="lineno"> 1742</span>    <span class="keywordtype">int</span> i, err;</div>
<div class="line"><a id="l01743" name="l01743"></a><span class="lineno"> 1743</span> </div>
<div class="line"><a id="l01744" name="l01744"></a><span class="lineno"> 1744</span>    <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;ch_layout.order != AV_CHANNEL_ORDER_UNSPEC) {</div>
<div class="line"><a id="l01745" name="l01745"></a><span class="lineno"> 1745</span>        <span class="comment">/* Pass the layout through for all orders but UNSPEC */</span></div>
<div class="line"><a id="l01746" name="l01746"></a><span class="lineno"> 1746</span>        err = av_channel_layout_copy(&amp;f-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#aaf75618d5c17545f762fa3af3f439340">ch_layout</a>, &amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;ch_layout);</div>
<div class="line"><a id="l01747" name="l01747"></a><span class="lineno"> 1747</span>        <span class="keywordflow">if</span> (err &lt; 0)</div>
<div class="line"><a id="l01748" name="l01748"></a><span class="lineno"> 1748</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l01749" name="l01749"></a><span class="lineno"> 1749</span>        <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l01750" name="l01750"></a><span class="lineno"> 1750</span>    }</div>
<div class="line"><a id="l01751" name="l01751"></a><span class="lineno"> 1751</span> </div>
<div class="line"><a id="l01752" name="l01752"></a><span class="lineno"> 1752</span>    <span class="comment">/* Requested layout is of order UNSPEC */</span></div>
<div class="line"><a id="l01753" name="l01753"></a><span class="lineno"> 1753</span>    <span class="keywordflow">if</span> (!c-&gt;ch_layouts) {</div>
<div class="line"><a id="l01754" name="l01754"></a><span class="lineno"> 1754</span>        <span class="comment">/* Use the default native layout for the requested amount of channels when the</span></div>
<div class="line"><a id="l01755" name="l01755"></a><span class="lineno"> 1755</span><span class="comment">           encoder doesn&#39;t have a list of supported layouts */</span></div>
<div class="line"><a id="l01756" name="l01756"></a><span class="lineno"> 1756</span>        av_channel_layout_default(&amp;f-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#aaf75618d5c17545f762fa3af3f439340">ch_layout</a>, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;ch_layout.nb_channels);</div>
<div class="line"><a id="l01757" name="l01757"></a><span class="lineno"> 1757</span>        <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l01758" name="l01758"></a><span class="lineno"> 1758</span>    }</div>
<div class="line"><a id="l01759" name="l01759"></a><span class="lineno"> 1759</span>    <span class="comment">/* Encoder has a list of supported layouts. Pick the first layout in it with the</span></div>
<div class="line"><a id="l01760" name="l01760"></a><span class="lineno"> 1760</span><span class="comment">       same amount of channels as the requested layout */</span></div>
<div class="line"><a id="l01761" name="l01761"></a><span class="lineno"> 1761</span>    <span class="keywordflow">for</span> (i = 0; c-&gt;ch_layouts[i].nb_channels; i++) {</div>
<div class="line"><a id="l01762" name="l01762"></a><span class="lineno"> 1762</span>        <span class="keywordflow">if</span> (c-&gt;ch_layouts[i].nb_channels == ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;ch_layout.nb_channels)</div>
<div class="line"><a id="l01763" name="l01763"></a><span class="lineno"> 1763</span>            <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01764" name="l01764"></a><span class="lineno"> 1764</span>    }</div>
<div class="line"><a id="l01765" name="l01765"></a><span class="lineno"> 1765</span>    <span class="keywordflow">if</span> (c-&gt;ch_layouts[i].nb_channels) {</div>
<div class="line"><a id="l01766" name="l01766"></a><span class="lineno"> 1766</span>        <span class="comment">/* Use it if one is found */</span></div>
<div class="line"><a id="l01767" name="l01767"></a><span class="lineno"> 1767</span>        err = av_channel_layout_copy(&amp;f-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#aaf75618d5c17545f762fa3af3f439340">ch_layout</a>, &amp;c-&gt;ch_layouts[i]);</div>
<div class="line"><a id="l01768" name="l01768"></a><span class="lineno"> 1768</span>        <span class="keywordflow">if</span> (err &lt; 0)</div>
<div class="line"><a id="l01769" name="l01769"></a><span class="lineno"> 1769</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l01770" name="l01770"></a><span class="lineno"> 1770</span>        <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l01771" name="l01771"></a><span class="lineno"> 1771</span>    }</div>
<div class="line"><a id="l01772" name="l01772"></a><span class="lineno"> 1772</span>    <span class="comment">/* If no layout for the amount of channels requested was found, use the default</span></div>
<div class="line"><a id="l01773" name="l01773"></a><span class="lineno"> 1773</span><span class="comment">       native layout for it. */</span></div>
<div class="line"><a id="l01774" name="l01774"></a><span class="lineno"> 1774</span>    av_channel_layout_default(&amp;f-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#aaf75618d5c17545f762fa3af3f439340">ch_layout</a>, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;ch_layout.nb_channels);</div>
<div class="line"><a id="l01775" name="l01775"></a><span class="lineno"> 1775</span>}</div>
<div class="line"><a id="l01776" name="l01776"></a><span class="lineno"> 1776</span> </div>
<div class="line"><a id="l01777" name="l01777"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3f6f1e6b86126fc0af7892dd60d4b011"> 1777</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3f6f1e6b86126fc0af7892dd60d4b011">copy_chapters</a>(<a class="code hl_struct" href="../../d8/d99/struct_input_file.html">InputFile</a> *ifile, <a class="code hl_struct" href="../../de/df2/struct_output_file.html">OutputFile</a> *ofile, AVFormatContext *os,</div>
<div class="line"><a id="l01778" name="l01778"></a><span class="lineno"> 1778</span>                         <span class="keywordtype">int</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ab213fed0c837f2c0a168eab0158ec7ba">copy_metadata</a>)</div>
<div class="line"><a id="l01779" name="l01779"></a><span class="lineno"> 1779</span>{</div>
<div class="line"><a id="l01780" name="l01780"></a><span class="lineno"> 1780</span>    AVFormatContext *is = ifile-&gt;<a class="code hl_variable" href="../../d8/d99/struct_input_file.html#a4062ac530db413964aa76090995b85cd">ctx</a>;</div>
<div class="line"><a id="l01781" name="l01781"></a><span class="lineno"> 1781</span>    AVChapter **tmp;</div>
<div class="line"><a id="l01782" name="l01782"></a><span class="lineno"> 1782</span>    <span class="keywordtype">int</span> i;</div>
<div class="line"><a id="l01783" name="l01783"></a><span class="lineno"> 1783</span> </div>
<div class="line"><a id="l01784" name="l01784"></a><span class="lineno"> 1784</span>    tmp = av_realloc_f(os-&gt;chapters, is-&gt;nb_chapters + os-&gt;nb_chapters, <span class="keyword">sizeof</span>(*os-&gt;chapters));</div>
<div class="line"><a id="l01785" name="l01785"></a><span class="lineno"> 1785</span>    <span class="keywordflow">if</span> (!tmp)</div>
<div class="line"><a id="l01786" name="l01786"></a><span class="lineno"> 1786</span>        <span class="keywordflow">return</span> AVERROR(ENOMEM);</div>
<div class="line"><a id="l01787" name="l01787"></a><span class="lineno"> 1787</span>    os-&gt;chapters = tmp;</div>
<div class="line"><a id="l01788" name="l01788"></a><span class="lineno"> 1788</span> </div>
<div class="line"><a id="l01789" name="l01789"></a><span class="lineno"> 1789</span>    <span class="keywordflow">for</span> (i = 0; i &lt; is-&gt;nb_chapters; i++) {</div>
<div class="line"><a id="l01790" name="l01790"></a><span class="lineno"> 1790</span>        AVChapter *in_ch = is-&gt;chapters[i], *out_ch;</div>
<div class="line"><a id="l01791" name="l01791"></a><span class="lineno"> 1791</span>        int64_t start_time = (ofile-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#aa4fee66db612c26276b5de30d834d5e0">start_time</a> == AV_NOPTS_VALUE) ? 0 : ofile-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#aa4fee66db612c26276b5de30d834d5e0">start_time</a>;</div>
<div class="line"><a id="l01792" name="l01792"></a><span class="lineno"> 1792</span>        int64_t ts_off   = av_rescale_q(start_time - ifile-&gt;<a class="code hl_variable" href="../../d8/d99/struct_input_file.html#a098fa89f90be39e95d5e42041e8cebfb">ts_offset</a>,</div>
<div class="line"><a id="l01793" name="l01793"></a><span class="lineno"> 1793</span>                                       AV_TIME_BASE_Q, in_ch-&gt;time_base);</div>
<div class="line"><a id="l01794" name="l01794"></a><span class="lineno"> 1794</span>        int64_t rt       = (ofile-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#ad160ce6520aad386bead7eb45f6f55a0">recording_time</a> == INT64_MAX) ? INT64_MAX :</div>
<div class="line"><a id="l01795" name="l01795"></a><span class="lineno"> 1795</span>                           av_rescale_q(ofile-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#ad160ce6520aad386bead7eb45f6f55a0">recording_time</a>, AV_TIME_BASE_Q, in_ch-&gt;time_base);</div>
<div class="line"><a id="l01796" name="l01796"></a><span class="lineno"> 1796</span> </div>
<div class="line"><a id="l01797" name="l01797"></a><span class="lineno"> 1797</span> </div>
<div class="line"><a id="l01798" name="l01798"></a><span class="lineno"> 1798</span>        <span class="keywordflow">if</span> (in_ch-&gt;end &lt; ts_off)</div>
<div class="line"><a id="l01799" name="l01799"></a><span class="lineno"> 1799</span>            <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l01800" name="l01800"></a><span class="lineno"> 1800</span>        <span class="keywordflow">if</span> (rt != INT64_MAX &amp;&amp; in_ch-&gt;start &gt; rt + ts_off)</div>
<div class="line"><a id="l01801" name="l01801"></a><span class="lineno"> 1801</span>            <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01802" name="l01802"></a><span class="lineno"> 1802</span> </div>
<div class="line"><a id="l01803" name="l01803"></a><span class="lineno"> 1803</span>        out_ch = av_mallocz(<span class="keyword">sizeof</span>(AVChapter));</div>
<div class="line"><a id="l01804" name="l01804"></a><span class="lineno"> 1804</span>        <span class="keywordflow">if</span> (!out_ch)</div>
<div class="line"><a id="l01805" name="l01805"></a><span class="lineno"> 1805</span>            <span class="keywordflow">return</span> AVERROR(ENOMEM);</div>
<div class="line"><a id="l01806" name="l01806"></a><span class="lineno"> 1806</span> </div>
<div class="line"><a id="l01807" name="l01807"></a><span class="lineno"> 1807</span>        out_ch-&gt;id        = in_ch-&gt;id;</div>
<div class="line"><a id="l01808" name="l01808"></a><span class="lineno"> 1808</span>        out_ch-&gt;time_base = in_ch-&gt;time_base;</div>
<div class="line"><a id="l01809" name="l01809"></a><span class="lineno"> 1809</span>        out_ch-&gt;start     = FFMAX(0,  in_ch-&gt;start - ts_off);</div>
<div class="line"><a id="l01810" name="l01810"></a><span class="lineno"> 1810</span>        out_ch-&gt;end       = FFMIN(rt, in_ch-&gt;end   - ts_off);</div>
<div class="line"><a id="l01811" name="l01811"></a><span class="lineno"> 1811</span> </div>
<div class="line"><a id="l01812" name="l01812"></a><span class="lineno"> 1812</span>        <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ab213fed0c837f2c0a168eab0158ec7ba">copy_metadata</a>)</div>
<div class="line"><a id="l01813" name="l01813"></a><span class="lineno"> 1813</span>            av_dict_copy(&amp;out_ch-&gt;metadata, in_ch-&gt;metadata, 0);</div>
<div class="line"><a id="l01814" name="l01814"></a><span class="lineno"> 1814</span> </div>
<div class="line"><a id="l01815" name="l01815"></a><span class="lineno"> 1815</span>        os-&gt;chapters[os-&gt;nb_chapters++] = out_ch;</div>
<div class="line"><a id="l01816" name="l01816"></a><span class="lineno"> 1816</span>    }</div>
<div class="line"><a id="l01817" name="l01817"></a><span class="lineno"> 1817</span>    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l01818" name="l01818"></a><span class="lineno"> 1818</span>}</div>
<div class="line"><a id="l01819" name="l01819"></a><span class="lineno"> 1819</span> </div>
<div class="line"><a id="l01820" name="l01820"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ab213fed0c837f2c0a168eab0158ec7ba"> 1820</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ab213fed0c837f2c0a168eab0158ec7ba">copy_metadata</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, AVFormatContext *ic,</div>
<div class="line"><a id="l01821" name="l01821"></a><span class="lineno"> 1821</span>                         <span class="keyword">const</span> <span class="keywordtype">char</span> *outspec, <span class="keyword">const</span> <span class="keywordtype">char</span> *inspec,</div>
<div class="line"><a id="l01822" name="l01822"></a><span class="lineno"> 1822</span>                         <span class="keywordtype">int</span> *metadata_global_manual, <span class="keywordtype">int</span> *metadata_streams_manual,</div>
<div class="line"><a id="l01823" name="l01823"></a><span class="lineno"> 1823</span>                         <span class="keywordtype">int</span> *metadata_chapters_manual, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o)</div>
<div class="line"><a id="l01824" name="l01824"></a><span class="lineno"> 1824</span>{</div>
<div class="line"><a id="l01825" name="l01825"></a><span class="lineno"> 1825</span>    AVFormatContext *oc = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>;</div>
<div class="line"><a id="l01826" name="l01826"></a><span class="lineno"> 1826</span>    AVDictionary **meta_in = NULL;</div>
<div class="line"><a id="l01827" name="l01827"></a><span class="lineno"> 1827</span>    AVDictionary **meta_out = NULL;</div>
<div class="line"><a id="l01828" name="l01828"></a><span class="lineno"> 1828</span>    <span class="keywordtype">int</span> i, ret = 0;</div>
<div class="line"><a id="l01829" name="l01829"></a><span class="lineno"> 1829</span>    <span class="keywordtype">char</span> type_in, type_out;</div>
<div class="line"><a id="l01830" name="l01830"></a><span class="lineno"> 1830</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *istream_spec = NULL, *ostream_spec = NULL;</div>
<div class="line"><a id="l01831" name="l01831"></a><span class="lineno"> 1831</span>    <span class="keywordtype">int</span> idx_in = 0, idx_out = 0;</div>
<div class="line"><a id="l01832" name="l01832"></a><span class="lineno"> 1832</span> </div>
<div class="line"><a id="l01833" name="l01833"></a><span class="lineno"> 1833</span>    <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aab1d482498653dcda375b3f0a6145d7e">parse_meta_type</a>(mux, inspec,  &amp;type_in,  &amp;idx_in,  &amp;istream_spec);</div>
<div class="line"><a id="l01834" name="l01834"></a><span class="lineno"> 1834</span>    <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aab1d482498653dcda375b3f0a6145d7e">parse_meta_type</a>(mux, outspec, &amp;type_out, &amp;idx_out, &amp;ostream_spec);</div>
<div class="line"><a id="l01835" name="l01835"></a><span class="lineno"> 1835</span> </div>
<div class="line"><a id="l01836" name="l01836"></a><span class="lineno"> 1836</span>    <span class="keywordflow">if</span> (type_in == <span class="charliteral">&#39;g&#39;</span> || type_out == <span class="charliteral">&#39;g&#39;</span>)</div>
<div class="line"><a id="l01837" name="l01837"></a><span class="lineno"> 1837</span>        *metadata_global_manual = 1;</div>
<div class="line"><a id="l01838" name="l01838"></a><span class="lineno"> 1838</span>    <span class="keywordflow">if</span> (type_in == <span class="charliteral">&#39;s&#39;</span> || type_out == <span class="charliteral">&#39;s&#39;</span>)</div>
<div class="line"><a id="l01839" name="l01839"></a><span class="lineno"> 1839</span>        *metadata_streams_manual = 1;</div>
<div class="line"><a id="l01840" name="l01840"></a><span class="lineno"> 1840</span>    <span class="keywordflow">if</span> (type_in == <span class="charliteral">&#39;c&#39;</span> || type_out == <span class="charliteral">&#39;c&#39;</span>)</div>
<div class="line"><a id="l01841" name="l01841"></a><span class="lineno"> 1841</span>        *metadata_chapters_manual = 1;</div>
<div class="line"><a id="l01842" name="l01842"></a><span class="lineno"> 1842</span> </div>
<div class="line"><a id="l01843" name="l01843"></a><span class="lineno"> 1843</span>    <span class="comment">/* ic is NULL when just disabling automatic mappings */</span></div>
<div class="line"><a id="l01844" name="l01844"></a><span class="lineno"> 1844</span>    <span class="keywordflow">if</span> (!ic)</div>
<div class="line"><a id="l01845" name="l01845"></a><span class="lineno"> 1845</span>        <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l01846" name="l01846"></a><span class="lineno"> 1846</span> </div>
<div class="line"><a id="l01847" name="l01847"></a><span class="lineno"> 1847</span><span class="preprocessor">#define METADATA_CHECK_INDEX(index, nb_elems, desc)\</span></div>
<div class="line"><a id="l01848" name="l01848"></a><span class="lineno"> 1848</span><span class="preprocessor">    if ((index) &lt; 0 || (index) &gt;= (nb_elems)) {\</span></div>
<div class="line"><a id="l01849" name="l01849"></a><span class="lineno"> 1849</span><span class="preprocessor">        av_log(mux, AV_LOG_FATAL, &quot;Invalid %s index %d while processing metadata maps.\n&quot;</span>,\</div>
<div class="line"><a id="l01850" name="l01850"></a><span class="lineno"> 1850</span>                (desc), (index));\</div>
<div class="line"><a id="l01851" name="l01851"></a><span class="lineno"> 1851</span>        exit_program(1);\</div>
<div class="line"><a id="l01852" name="l01852"></a><span class="lineno"> 1852</span>    }</div>
<div class="line"><a id="l01853" name="l01853"></a><span class="lineno"> 1853</span> </div>
<div class="line"><a id="l01854" name="l01854"></a><span class="lineno"> 1854</span><span class="preprocessor">#define SET_DICT(type, meta, context, index)\</span></div>
<div class="line"><a id="l01855" name="l01855"></a><span class="lineno"> 1855</span><span class="preprocessor">        switch (type) {\</span></div>
<div class="line"><a id="l01856" name="l01856"></a><span class="lineno"> 1856</span><span class="preprocessor">        case &#39;g&#39;:\</span></div>
<div class="line"><a id="l01857" name="l01857"></a><span class="lineno"> 1857</span><span class="preprocessor">            meta = &amp;context-&gt;metadata;\</span></div>
<div class="line"><a id="l01858" name="l01858"></a><span class="lineno"> 1858</span><span class="preprocessor">            break;\</span></div>
<div class="line"><a id="l01859" name="l01859"></a><span class="lineno"> 1859</span><span class="preprocessor">        case &#39;c&#39;:\</span></div>
<div class="line"><a id="l01860" name="l01860"></a><span class="lineno"> 1860</span><span class="preprocessor">            METADATA_CHECK_INDEX(index, context-&gt;nb_chapters, &quot;chapter&quot;</span>)\</div>
<div class="line"><a id="l01861" name="l01861"></a><span class="lineno"> 1861</span>            meta = &amp;context-&gt;chapters[index]-&gt;metadata;\</div>
<div class="line"><a id="l01862" name="l01862"></a><span class="lineno"> 1862</span>            break;\</div>
<div class="line"><a id="l01863" name="l01863"></a><span class="lineno"> 1863</span>        case &#39;p&#39;:\</div>
<div class="line"><a id="l01864" name="l01864"></a><span class="lineno"> 1864</span>            METADATA_CHECK_INDEX(index, context-&gt;nb_programs, &quot;program&quot;)\</div>
<div class="line"><a id="l01865" name="l01865"></a><span class="lineno"> 1865</span>            meta = &amp;context-&gt;programs[index]-&gt;metadata;\</div>
<div class="line"><a id="l01866" name="l01866"></a><span class="lineno"> 1866</span>            break;\</div>
<div class="line"><a id="l01867" name="l01867"></a><span class="lineno"> 1867</span>        case &#39;s&#39;:\</div>
<div class="line"><a id="l01868" name="l01868"></a><span class="lineno"> 1868</span>            break; <span class="comment">/* handled separately below */</span><span class="preprocessor"> \</span></div>
<div class="line"><a id="l01869" name="l01869"></a><span class="lineno"> 1869</span><span class="preprocessor">        default: av_assert0(0);\</span></div>
<div class="line"><a id="l01870" name="l01870"></a><span class="lineno"> 1870</span><span class="preprocessor">        }\</span></div>
<div class="line"><a id="l01871" name="l01871"></a><span class="lineno"> 1871</span><span class="preprocessor"></span> </div>
<div class="line"><a id="l01872" name="l01872"></a><span class="lineno"> 1872</span>    <a class="code hl_define" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a0116f637ab1a81dd3079aaba28d280eb">SET_DICT</a>(type_in, meta_in, ic, idx_in);</div>
<div class="line"><a id="l01873" name="l01873"></a><span class="lineno"> 1873</span>    <a class="code hl_define" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a0116f637ab1a81dd3079aaba28d280eb">SET_DICT</a>(type_out, meta_out, oc, idx_out);</div>
<div class="line"><a id="l01874" name="l01874"></a><span class="lineno"> 1874</span> </div>
<div class="line"><a id="l01875" name="l01875"></a><span class="lineno"> 1875</span>    <span class="comment">/* for input streams choose first matching stream */</span></div>
<div class="line"><a id="l01876" name="l01876"></a><span class="lineno"> 1876</span>    <span class="keywordflow">if</span> (type_in == <span class="charliteral">&#39;s&#39;</span>) {</div>
<div class="line"><a id="l01877" name="l01877"></a><span class="lineno"> 1877</span>        <span class="keywordflow">for</span> (i = 0; i &lt; ic-&gt;nb_streams; i++) {</div>
<div class="line"><a id="l01878" name="l01878"></a><span class="lineno"> 1878</span>            <span class="keywordflow">if</span> ((ret = <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a632b71e4b56c5ee8556a407bbecbcef8">check_stream_specifier</a>(ic, ic-&gt;streams[i], istream_spec)) &gt; 0) {</div>
<div class="line"><a id="l01879" name="l01879"></a><span class="lineno"> 1879</span>                meta_in = &amp;ic-&gt;streams[i]-&gt;metadata;</div>
<div class="line"><a id="l01880" name="l01880"></a><span class="lineno"> 1880</span>                <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01881" name="l01881"></a><span class="lineno"> 1881</span>            } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ret &lt; 0)</div>
<div class="line"><a id="l01882" name="l01882"></a><span class="lineno"> 1882</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01883" name="l01883"></a><span class="lineno"> 1883</span>        }</div>
<div class="line"><a id="l01884" name="l01884"></a><span class="lineno"> 1884</span>        <span class="keywordflow">if</span> (!meta_in) {</div>
<div class="line"><a id="l01885" name="l01885"></a><span class="lineno"> 1885</span>            av_log(mux, AV_LOG_FATAL, <span class="stringliteral">&quot;Stream specifier %s does not match  any streams.\n&quot;</span>, istream_spec);</div>
<div class="line"><a id="l01886" name="l01886"></a><span class="lineno"> 1886</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01887" name="l01887"></a><span class="lineno"> 1887</span>        }</div>
<div class="line"><a id="l01888" name="l01888"></a><span class="lineno"> 1888</span>    }</div>
<div class="line"><a id="l01889" name="l01889"></a><span class="lineno"> 1889</span> </div>
<div class="line"><a id="l01890" name="l01890"></a><span class="lineno"> 1890</span>    <span class="keywordflow">if</span> (type_out == <span class="charliteral">&#39;s&#39;</span>) {</div>
<div class="line"><a id="l01891" name="l01891"></a><span class="lineno"> 1891</span>        <span class="keywordflow">for</span> (i = 0; i &lt; oc-&gt;nb_streams; i++) {</div>
<div class="line"><a id="l01892" name="l01892"></a><span class="lineno"> 1892</span>            <span class="keywordflow">if</span> ((ret = <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a632b71e4b56c5ee8556a407bbecbcef8">check_stream_specifier</a>(oc, oc-&gt;streams[i], ostream_spec)) &gt; 0) {</div>
<div class="line"><a id="l01893" name="l01893"></a><span class="lineno"> 1893</span>                meta_out = &amp;oc-&gt;streams[i]-&gt;metadata;</div>
<div class="line"><a id="l01894" name="l01894"></a><span class="lineno"> 1894</span>                av_dict_copy(meta_out, *meta_in, AV_DICT_DONT_OVERWRITE);</div>
<div class="line"><a id="l01895" name="l01895"></a><span class="lineno"> 1895</span>            } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ret &lt; 0)</div>
<div class="line"><a id="l01896" name="l01896"></a><span class="lineno"> 1896</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01897" name="l01897"></a><span class="lineno"> 1897</span>        }</div>
<div class="line"><a id="l01898" name="l01898"></a><span class="lineno"> 1898</span>    } <span class="keywordflow">else</span></div>
<div class="line"><a id="l01899" name="l01899"></a><span class="lineno"> 1899</span>        av_dict_copy(meta_out, *meta_in, AV_DICT_DONT_OVERWRITE);</div>
<div class="line"><a id="l01900" name="l01900"></a><span class="lineno"> 1900</span> </div>
<div class="line"><a id="l01901" name="l01901"></a><span class="lineno"> 1901</span>    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l01902" name="l01902"></a><span class="lineno"> 1902</span>}</div>
<div class="line"><a id="l01903" name="l01903"></a><span class="lineno"> 1903</span> </div>
<div class="line"><a id="l01904" name="l01904"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2239d6a510d4c7615978f300434f298a"> 1904</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2239d6a510d4c7615978f300434f298a">copy_meta</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o)</div>
<div class="line"><a id="l01905" name="l01905"></a><span class="lineno"> 1905</span>{</div>
<div class="line"><a id="l01906" name="l01906"></a><span class="lineno"> 1906</span>    <a class="code hl_struct" href="../../de/df2/struct_output_file.html">OutputFile</a>      *of = &amp;mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>;</div>
<div class="line"><a id="l01907" name="l01907"></a><span class="lineno"> 1907</span>    AVFormatContext *oc = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>;</div>
<div class="line"><a id="l01908" name="l01908"></a><span class="lineno"> 1908</span>    <span class="keywordtype">int</span> chapters_input_file = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a9aa6d216666ea426199e6abd0a79d6cb">chapters_input_file</a>;</div>
<div class="line"><a id="l01909" name="l01909"></a><span class="lineno"> 1909</span>    <span class="keywordtype">int</span> metadata_global_manual   = 0;</div>
<div class="line"><a id="l01910" name="l01910"></a><span class="lineno"> 1910</span>    <span class="keywordtype">int</span> metadata_streams_manual  = 0;</div>
<div class="line"><a id="l01911" name="l01911"></a><span class="lineno"> 1911</span>    <span class="keywordtype">int</span> metadata_chapters_manual = 0;</div>
<div class="line"><a id="l01912" name="l01912"></a><span class="lineno"> 1912</span> </div>
<div class="line"><a id="l01913" name="l01913"></a><span class="lineno"> 1913</span>    <span class="comment">/* copy metadata */</span></div>
<div class="line"><a id="l01914" name="l01914"></a><span class="lineno"> 1914</span>    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a76aae7426ad256206718ef4c503a882d">nb_metadata_map</a>; i++) {</div>
<div class="line"><a id="l01915" name="l01915"></a><span class="lineno"> 1915</span>        <span class="keywordtype">char</span> *p;</div>
<div class="line"><a id="l01916" name="l01916"></a><span class="lineno"> 1916</span>        <span class="keywordtype">int</span> in_file_index = strtol(o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a05f340e8bd1fb8084c1ea6e41b09b4bd">metadata_map</a>[i].<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a396d3e67fde3c170cda70842a1c35521">u</a>.<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#a491092bfda9281b509e9f62195490ce4">str</a>, &amp;p, 0);</div>
<div class="line"><a id="l01917" name="l01917"></a><span class="lineno"> 1917</span> </div>
<div class="line"><a id="l01918" name="l01918"></a><span class="lineno"> 1918</span>        <span class="keywordflow">if</span> (in_file_index &gt;= <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a35146af7b101927e2e6aaaf49022f9b7">nb_input_files</a>) {</div>
<div class="line"><a id="l01919" name="l01919"></a><span class="lineno"> 1919</span>            av_log(mux, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid input file index %d while &quot;</span></div>
<div class="line"><a id="l01920" name="l01920"></a><span class="lineno"> 1920</span>                   <span class="stringliteral">&quot;processing metadata maps\n&quot;</span>, in_file_index);</div>
<div class="line"><a id="l01921" name="l01921"></a><span class="lineno"> 1921</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01922" name="l01922"></a><span class="lineno"> 1922</span>        }</div>
<div class="line"><a id="l01923" name="l01923"></a><span class="lineno"> 1923</span>        <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ab213fed0c837f2c0a168eab0158ec7ba">copy_metadata</a>(mux,</div>
<div class="line"><a id="l01924" name="l01924"></a><span class="lineno"> 1924</span>                      in_file_index &gt;= 0 ? <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a8815f40afdcda266b01da4b3137a99a3">input_files</a>[in_file_index]-&gt;ctx : NULL,</div>
<div class="line"><a id="l01925" name="l01925"></a><span class="lineno"> 1925</span>                      o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a05f340e8bd1fb8084c1ea6e41b09b4bd">metadata_map</a>[i].<a class="code hl_variable" href="../../dd/da5/struct_specifier_opt.html#ab83e423aec2a2d42a29daae047dcdb81">specifier</a>, *p ? p + 1 : p,</div>
<div class="line"><a id="l01926" name="l01926"></a><span class="lineno"> 1926</span>                      &amp;metadata_global_manual, &amp;metadata_streams_manual,</div>
<div class="line"><a id="l01927" name="l01927"></a><span class="lineno"> 1927</span>                      &amp;metadata_chapters_manual, o);</div>
<div class="line"><a id="l01928" name="l01928"></a><span class="lineno"> 1928</span>    }</div>
<div class="line"><a id="l01929" name="l01929"></a><span class="lineno"> 1929</span> </div>
<div class="line"><a id="l01930" name="l01930"></a><span class="lineno"> 1930</span>    <span class="comment">/* copy chapters */</span></div>
<div class="line"><a id="l01931" name="l01931"></a><span class="lineno"> 1931</span>    <span class="keywordflow">if</span> (chapters_input_file &gt;= <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a35146af7b101927e2e6aaaf49022f9b7">nb_input_files</a>) {</div>
<div class="line"><a id="l01932" name="l01932"></a><span class="lineno"> 1932</span>        <span class="keywordflow">if</span> (chapters_input_file == INT_MAX) {</div>
<div class="line"><a id="l01933" name="l01933"></a><span class="lineno"> 1933</span>            <span class="comment">/* copy chapters from the first input file that has them*/</span></div>
<div class="line"><a id="l01934" name="l01934"></a><span class="lineno"> 1934</span>            chapters_input_file = -1;</div>
<div class="line"><a id="l01935" name="l01935"></a><span class="lineno"> 1935</span>            <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a35146af7b101927e2e6aaaf49022f9b7">nb_input_files</a>; i++)</div>
<div class="line"><a id="l01936" name="l01936"></a><span class="lineno"> 1936</span>                <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a8815f40afdcda266b01da4b3137a99a3">input_files</a>[i]-&gt;ctx-&gt;nb_chapters) {</div>
<div class="line"><a id="l01937" name="l01937"></a><span class="lineno"> 1937</span>                    chapters_input_file = i;</div>
<div class="line"><a id="l01938" name="l01938"></a><span class="lineno"> 1938</span>                    <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l01939" name="l01939"></a><span class="lineno"> 1939</span>                }</div>
<div class="line"><a id="l01940" name="l01940"></a><span class="lineno"> 1940</span>        } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l01941" name="l01941"></a><span class="lineno"> 1941</span>            av_log(mux, AV_LOG_FATAL, <span class="stringliteral">&quot;Invalid input file index %d in chapter mapping.\n&quot;</span>,</div>
<div class="line"><a id="l01942" name="l01942"></a><span class="lineno"> 1942</span>                   chapters_input_file);</div>
<div class="line"><a id="l01943" name="l01943"></a><span class="lineno"> 1943</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l01944" name="l01944"></a><span class="lineno"> 1944</span>        }</div>
<div class="line"><a id="l01945" name="l01945"></a><span class="lineno"> 1945</span>    }</div>
<div class="line"><a id="l01946" name="l01946"></a><span class="lineno"> 1946</span>    <span class="keywordflow">if</span> (chapters_input_file &gt;= 0)</div>
<div class="line"><a id="l01947" name="l01947"></a><span class="lineno"> 1947</span>        <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3f6f1e6b86126fc0af7892dd60d4b011">copy_chapters</a>(<a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a8815f40afdcda266b01da4b3137a99a3">input_files</a>[chapters_input_file], of, oc,</div>
<div class="line"><a id="l01948" name="l01948"></a><span class="lineno"> 1948</span>                      !metadata_chapters_manual);</div>
<div class="line"><a id="l01949" name="l01949"></a><span class="lineno"> 1949</span> </div>
<div class="line"><a id="l01950" name="l01950"></a><span class="lineno"> 1950</span>    <span class="comment">/* copy global metadata by default */</span></div>
<div class="line"><a id="l01951" name="l01951"></a><span class="lineno"> 1951</span>    <span class="keywordflow">if</span> (!metadata_global_manual &amp;&amp; <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a35146af7b101927e2e6aaaf49022f9b7">nb_input_files</a>){</div>
<div class="line"><a id="l01952" name="l01952"></a><span class="lineno"> 1952</span>        av_dict_copy(&amp;oc-&gt;metadata, <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a8815f40afdcda266b01da4b3137a99a3">input_files</a>[0]-&gt;<a class="code hl_variable" href="../../d8/d99/struct_input_file.html#a4062ac530db413964aa76090995b85cd">ctx</a>-&gt;metadata,</div>
<div class="line"><a id="l01953" name="l01953"></a><span class="lineno"> 1953</span>                     AV_DICT_DONT_OVERWRITE);</div>
<div class="line"><a id="l01954" name="l01954"></a><span class="lineno"> 1954</span>        <span class="keywordflow">if</span> (of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#ad160ce6520aad386bead7eb45f6f55a0">recording_time</a> != INT64_MAX)</div>
<div class="line"><a id="l01955" name="l01955"></a><span class="lineno"> 1955</span>            av_dict_set(&amp;oc-&gt;metadata, <span class="stringliteral">&quot;duration&quot;</span>, NULL, 0);</div>
<div class="line"><a id="l01956" name="l01956"></a><span class="lineno"> 1956</span>        av_dict_set(&amp;oc-&gt;metadata, <span class="stringliteral">&quot;creation_time&quot;</span>, NULL, 0);</div>
<div class="line"><a id="l01957" name="l01957"></a><span class="lineno"> 1957</span>        av_dict_set(&amp;oc-&gt;metadata, <span class="stringliteral">&quot;company_name&quot;</span>, NULL, 0);</div>
<div class="line"><a id="l01958" name="l01958"></a><span class="lineno"> 1958</span>        av_dict_set(&amp;oc-&gt;metadata, <span class="stringliteral">&quot;product_name&quot;</span>, NULL, 0);</div>
<div class="line"><a id="l01959" name="l01959"></a><span class="lineno"> 1959</span>        av_dict_set(&amp;oc-&gt;metadata, <span class="stringliteral">&quot;product_version&quot;</span>, NULL, 0);</div>
<div class="line"><a id="l01960" name="l01960"></a><span class="lineno"> 1960</span>    }</div>
<div class="line"><a id="l01961" name="l01961"></a><span class="lineno"> 1961</span>    <span class="keywordflow">if</span> (!metadata_streams_manual)</div>
<div class="line"><a id="l01962" name="l01962"></a><span class="lineno"> 1962</span>        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a8bfd4fc9960ee43cab7a0ab5f44f66bb">nb_streams</a>; i++) {</div>
<div class="line"><a id="l01963" name="l01963"></a><span class="lineno"> 1963</span>            <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost = of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a769a46a097161825d6c4a210bc730207">streams</a>[i];</div>
<div class="line"><a id="l01964" name="l01964"></a><span class="lineno"> 1964</span> </div>
<div class="line"><a id="l01965" name="l01965"></a><span class="lineno"> 1965</span>            <span class="keywordflow">if</span> (!ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>)         <span class="comment">/* this is true e.g. for attached files */</span></div>
<div class="line"><a id="l01966" name="l01966"></a><span class="lineno"> 1966</span>                <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l01967" name="l01967"></a><span class="lineno"> 1967</span>            av_dict_copy(&amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;metadata, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;metadata, AV_DICT_DONT_OVERWRITE);</div>
<div class="line"><a id="l01968" name="l01968"></a><span class="lineno"> 1968</span>            <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>) {</div>
<div class="line"><a id="l01969" name="l01969"></a><span class="lineno"> 1969</span>                av_dict_set(&amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;metadata, <span class="stringliteral">&quot;encoder&quot;</span>, NULL, 0);</div>
<div class="line"><a id="l01970" name="l01970"></a><span class="lineno"> 1970</span>            }</div>
<div class="line"><a id="l01971" name="l01971"></a><span class="lineno"> 1971</span>        }</div>
<div class="line"><a id="l01972" name="l01972"></a><span class="lineno"> 1972</span>}</div>
<div class="line"><a id="l01973" name="l01973"></a><span class="lineno"> 1973</span> </div>
<div class="line"><a id="l01974" name="l01974"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aa28a00da6512e802387b7ab0a2915d85"> 1974</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aa28a00da6512e802387b7ab0a2915d85">set_dispositions</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o)</div>
<div class="line"><a id="l01975" name="l01975"></a><span class="lineno"> 1975</span>{</div>
<div class="line"><a id="l01976" name="l01976"></a><span class="lineno"> 1976</span>    <a class="code hl_struct" href="../../de/df2/struct_output_file.html">OutputFile</a>                    *of = &amp;mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>;</div>
<div class="line"><a id="l01977" name="l01977"></a><span class="lineno"> 1977</span>    AVFormatContext              *ctx = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>;</div>
<div class="line"><a id="l01978" name="l01978"></a><span class="lineno"> 1978</span> </div>
<div class="line"><a id="l01979" name="l01979"></a><span class="lineno"> 1979</span>    <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d8/d78/fftools__ffprobe_8c.html#abad15c2aaf9c54ccddd8d8abf6bed069">nb_streams</a>[AVMEDIA_TYPE_NB]   = { 0 };</div>
<div class="line"><a id="l01980" name="l01980"></a><span class="lineno"> 1980</span>    <span class="keywordtype">int</span> have_default[AVMEDIA_TYPE_NB] = { 0 };</div>
<div class="line"><a id="l01981" name="l01981"></a><span class="lineno"> 1981</span>    <span class="keywordtype">int</span> have_manual = 0;</div>
<div class="line"><a id="l01982" name="l01982"></a><span class="lineno"> 1982</span>    <span class="keywordtype">int</span> ret = 0;</div>
<div class="line"><a id="l01983" name="l01983"></a><span class="lineno"> 1983</span> </div>
<div class="line"><a id="l01984" name="l01984"></a><span class="lineno"> 1984</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> **dispositions;</div>
<div class="line"><a id="l01985" name="l01985"></a><span class="lineno"> 1985</span> </div>
<div class="line"><a id="l01986" name="l01986"></a><span class="lineno"> 1986</span>    dispositions = av_calloc(ctx-&gt;nb_streams, <span class="keyword">sizeof</span>(*dispositions));</div>
<div class="line"><a id="l01987" name="l01987"></a><span class="lineno"> 1987</span>    <span class="keywordflow">if</span> (!dispositions)</div>
<div class="line"><a id="l01988" name="l01988"></a><span class="lineno"> 1988</span>        <span class="keywordflow">return</span> AVERROR(ENOMEM);</div>
<div class="line"><a id="l01989" name="l01989"></a><span class="lineno"> 1989</span> </div>
<div class="line"><a id="l01990" name="l01990"></a><span class="lineno"> 1990</span>    <span class="comment">// first, copy the input dispositions</span></div>
<div class="line"><a id="l01991" name="l01991"></a><span class="lineno"> 1991</span>    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; ctx-&gt;nb_streams; i++) {</div>
<div class="line"><a id="l01992" name="l01992"></a><span class="lineno"> 1992</span>        <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost = of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a769a46a097161825d6c4a210bc730207">streams</a>[i];</div>
<div class="line"><a id="l01993" name="l01993"></a><span class="lineno"> 1993</span> </div>
<div class="line"><a id="l01994" name="l01994"></a><span class="lineno"> 1994</span>        <a class="code hl_variable" href="../../d8/d78/fftools__ffprobe_8c.html#abad15c2aaf9c54ccddd8d8abf6bed069">nb_streams</a>[ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_type]++;</div>
<div class="line"><a id="l01995" name="l01995"></a><span class="lineno"> 1995</span> </div>
<div class="line"><a id="l01996" name="l01996"></a><span class="lineno"> 1996</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(disposition, str, dispositions[i], ctx, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>);</div>
<div class="line"><a id="l01997" name="l01997"></a><span class="lineno"> 1997</span> </div>
<div class="line"><a id="l01998" name="l01998"></a><span class="lineno"> 1998</span>        have_manual |= !!dispositions[i];</div>
<div class="line"><a id="l01999" name="l01999"></a><span class="lineno"> 1999</span> </div>
<div class="line"><a id="l02000" name="l02000"></a><span class="lineno"> 2000</span>        <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>) {</div>
<div class="line"><a id="l02001" name="l02001"></a><span class="lineno"> 2001</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;disposition = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">st</a>-&gt;disposition;</div>
<div class="line"><a id="l02002" name="l02002"></a><span class="lineno"> 2002</span> </div>
<div class="line"><a id="l02003" name="l02003"></a><span class="lineno"> 2003</span>            <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;disposition &amp; AV_DISPOSITION_DEFAULT)</div>
<div class="line"><a id="l02004" name="l02004"></a><span class="lineno"> 2004</span>                have_default[ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_type] = 1;</div>
<div class="line"><a id="l02005" name="l02005"></a><span class="lineno"> 2005</span>        }</div>
<div class="line"><a id="l02006" name="l02006"></a><span class="lineno"> 2006</span>    }</div>
<div class="line"><a id="l02007" name="l02007"></a><span class="lineno"> 2007</span> </div>
<div class="line"><a id="l02008" name="l02008"></a><span class="lineno"> 2008</span>    <span class="keywordflow">if</span> (have_manual) {</div>
<div class="line"><a id="l02009" name="l02009"></a><span class="lineno"> 2009</span>        <span class="comment">// process manually set dispositions - they override the above copy</span></div>
<div class="line"><a id="l02010" name="l02010"></a><span class="lineno"> 2010</span>        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; ctx-&gt;nb_streams; i++) {</div>
<div class="line"><a id="l02011" name="l02011"></a><span class="lineno"> 2011</span>            <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost = of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a769a46a097161825d6c4a210bc730207">streams</a>[i];</div>
<div class="line"><a id="l02012" name="l02012"></a><span class="lineno"> 2012</span>            <span class="keyword">const</span> <span class="keywordtype">char</span>  *disp = dispositions[i];</div>
<div class="line"><a id="l02013" name="l02013"></a><span class="lineno"> 2013</span> </div>
<div class="line"><a id="l02014" name="l02014"></a><span class="lineno"> 2014</span>            <span class="keywordflow">if</span> (!disp)</div>
<div class="line"><a id="l02015" name="l02015"></a><span class="lineno"> 2015</span>                <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l02016" name="l02016"></a><span class="lineno"> 2016</span> </div>
<div class="line"><a id="l02017" name="l02017"></a><span class="lineno"> 2017</span>            ret = av_opt_set(ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>, <span class="stringliteral">&quot;disposition&quot;</span>, disp, 0);</div>
<div class="line"><a id="l02018" name="l02018"></a><span class="lineno"> 2018</span>            <span class="keywordflow">if</span> (ret &lt; 0)</div>
<div class="line"><a id="l02019" name="l02019"></a><span class="lineno"> 2019</span>                <span class="keywordflow">goto</span> finish;</div>
<div class="line"><a id="l02020" name="l02020"></a><span class="lineno"> 2020</span>        }</div>
<div class="line"><a id="l02021" name="l02021"></a><span class="lineno"> 2021</span>    } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l02022" name="l02022"></a><span class="lineno"> 2022</span>        <span class="comment">// For each media type with more than one stream, find a suitable stream to</span></div>
<div class="line"><a id="l02023" name="l02023"></a><span class="lineno"> 2023</span>        <span class="comment">// mark as default, unless one is already marked default.</span></div>
<div class="line"><a id="l02024" name="l02024"></a><span class="lineno"> 2024</span>        <span class="comment">// &quot;Suitable&quot; means the first of that type, skipping attached pictures.</span></div>
<div class="line"><a id="l02025" name="l02025"></a><span class="lineno"> 2025</span>        <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; ctx-&gt;nb_streams; i++) {</div>
<div class="line"><a id="l02026" name="l02026"></a><span class="lineno"> 2026</span>            <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost = of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a769a46a097161825d6c4a210bc730207">streams</a>[i];</div>
<div class="line"><a id="l02027" name="l02027"></a><span class="lineno"> 2027</span>            <span class="keyword">enum</span> AVMediaType type = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_type;</div>
<div class="line"><a id="l02028" name="l02028"></a><span class="lineno"> 2028</span> </div>
<div class="line"><a id="l02029" name="l02029"></a><span class="lineno"> 2029</span>            <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d8/d78/fftools__ffprobe_8c.html#abad15c2aaf9c54ccddd8d8abf6bed069">nb_streams</a>[type] &lt; 2 || have_default[type] ||</div>
<div class="line"><a id="l02030" name="l02030"></a><span class="lineno"> 2030</span>                ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;disposition &amp; AV_DISPOSITION_ATTACHED_PIC)</div>
<div class="line"><a id="l02031" name="l02031"></a><span class="lineno"> 2031</span>                <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l02032" name="l02032"></a><span class="lineno"> 2032</span> </div>
<div class="line"><a id="l02033" name="l02033"></a><span class="lineno"> 2033</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;disposition |= AV_DISPOSITION_DEFAULT;</div>
<div class="line"><a id="l02034" name="l02034"></a><span class="lineno"> 2034</span>            have_default[type] = 1;</div>
<div class="line"><a id="l02035" name="l02035"></a><span class="lineno"> 2035</span>        }</div>
<div class="line"><a id="l02036" name="l02036"></a><span class="lineno"> 2036</span>    }</div>
<div class="line"><a id="l02037" name="l02037"></a><span class="lineno"> 2037</span> </div>
<div class="line"><a id="l02038" name="l02038"></a><span class="lineno"> 2038</span>finish:</div>
<div class="line"><a id="l02039" name="l02039"></a><span class="lineno"> 2039</span>    av_freep(&amp;dispositions);</div>
<div class="line"><a id="l02040" name="l02040"></a><span class="lineno"> 2040</span> </div>
<div class="line"><a id="l02041" name="l02041"></a><span class="lineno"> 2041</span>    <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l02042" name="l02042"></a><span class="lineno"> 2042</span>}</div>
<div class="line"><a id="l02043" name="l02043"></a><span class="lineno"> 2043</span> </div>
<div class="line"><a id="l02044" name="l02044"></a><span class="lineno"><a class="line" href="../../d7/db3/fftools__ffmpeg_8h.html#a1cd18e061e07695c0547d09e3dd4dcce"> 2044</a></span><span class="keyword">const</span> <span class="keywordtype">char</span> *<span class="keyword">const</span> <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a1cd18e061e07695c0547d09e3dd4dcce">forced_keyframes_const_names</a>[] = {</div>
<div class="line"><a id="l02045" name="l02045"></a><span class="lineno"> 2045</span>    <span class="stringliteral">&quot;n&quot;</span>,</div>
<div class="line"><a id="l02046" name="l02046"></a><span class="lineno"> 2046</span>    <span class="stringliteral">&quot;n_forced&quot;</span>,</div>
<div class="line"><a id="l02047" name="l02047"></a><span class="lineno"> 2047</span>    <span class="stringliteral">&quot;prev_forced_n&quot;</span>,</div>
<div class="line"><a id="l02048" name="l02048"></a><span class="lineno"> 2048</span>    <span class="stringliteral">&quot;prev_forced_t&quot;</span>,</div>
<div class="line"><a id="l02049" name="l02049"></a><span class="lineno"> 2049</span>    <span class="stringliteral">&quot;t&quot;</span>,</div>
<div class="line"><a id="l02050" name="l02050"></a><span class="lineno"> 2050</span>    NULL</div>
<div class="line"><a id="l02051" name="l02051"></a><span class="lineno"> 2051</span>};</div>
<div class="line"><a id="l02052" name="l02052"></a><span class="lineno"> 2052</span> </div>
<div class="line"><a id="l02053" name="l02053"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a69b0f920b4d91360bd5cd5da5842e282"> 2053</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a69b0f920b4d91360bd5cd5da5842e282">compare_int64</a>(<span class="keyword">const</span> <span class="keywordtype">void</span> *a, <span class="keyword">const</span> <span class="keywordtype">void</span> *b)</div>
<div class="line"><a id="l02054" name="l02054"></a><span class="lineno"> 2054</span>{</div>
<div class="line"><a id="l02055" name="l02055"></a><span class="lineno"> 2055</span>    <span class="keywordflow">return</span> FFDIFFSIGN(*(<span class="keyword">const</span> int64_t *)a, *(<span class="keyword">const</span> int64_t *)b);</div>
<div class="line"><a id="l02056" name="l02056"></a><span class="lineno"> 2056</span>}</div>
<div class="line"><a id="l02057" name="l02057"></a><span class="lineno"> 2057</span> </div>
<div class="line"><a id="l02058" name="l02058"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a42d773646d7ab8e14550442e81e00bc1"> 2058</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a42d773646d7ab8e14550442e81e00bc1">parse_forced_key_frames</a>(<a class="code hl_struct" href="../../d3/da2/struct_keyframe_force_ctx.html">KeyframeForceCtx</a> *kf, <span class="keyword">const</span> <a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux,</div>
<div class="line"><a id="l02059" name="l02059"></a><span class="lineno"> 2059</span>                                    <span class="keyword">const</span> <span class="keywordtype">char</span> *spec)</div>
<div class="line"><a id="l02060" name="l02060"></a><span class="lineno"> 2060</span>{</div>
<div class="line"><a id="l02061" name="l02061"></a><span class="lineno"> 2061</span>    <span class="keyword">const</span> <span class="keywordtype">char</span> *p;</div>
<div class="line"><a id="l02062" name="l02062"></a><span class="lineno"> 2062</span>    <span class="keywordtype">int</span> n = 1, i, size, index = 0;</div>
<div class="line"><a id="l02063" name="l02063"></a><span class="lineno"> 2063</span>    int64_t t, *pts;</div>
<div class="line"><a id="l02064" name="l02064"></a><span class="lineno"> 2064</span> </div>
<div class="line"><a id="l02065" name="l02065"></a><span class="lineno"> 2065</span>    <span class="keywordflow">for</span> (p = spec; *p; p++)</div>
<div class="line"><a id="l02066" name="l02066"></a><span class="lineno"> 2066</span>        <span class="keywordflow">if</span> (*p == <span class="charliteral">&#39;,&#39;</span>)</div>
<div class="line"><a id="l02067" name="l02067"></a><span class="lineno"> 2067</span>            n++;</div>
<div class="line"><a id="l02068" name="l02068"></a><span class="lineno"> 2068</span>    size = n;</div>
<div class="line"><a id="l02069" name="l02069"></a><span class="lineno"> 2069</span>    pts = av_malloc_array(size, <span class="keyword">sizeof</span>(*pts));</div>
<div class="line"><a id="l02070" name="l02070"></a><span class="lineno"> 2070</span>    <span class="keywordflow">if</span> (!pts)</div>
<div class="line"><a id="l02071" name="l02071"></a><span class="lineno"> 2071</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l02072" name="l02072"></a><span class="lineno"> 2072</span> </div>
<div class="line"><a id="l02073" name="l02073"></a><span class="lineno"> 2073</span>    p = spec;</div>
<div class="line"><a id="l02074" name="l02074"></a><span class="lineno"> 2074</span>    <span class="keywordflow">for</span> (i = 0; i &lt; n; i++) {</div>
<div class="line"><a id="l02075" name="l02075"></a><span class="lineno"> 2075</span>        <span class="keywordtype">char</span> *next = strchr(p, <span class="charliteral">&#39;,&#39;</span>);</div>
<div class="line"><a id="l02076" name="l02076"></a><span class="lineno"> 2076</span> </div>
<div class="line"><a id="l02077" name="l02077"></a><span class="lineno"> 2077</span>        <span class="keywordflow">if</span> (next)</div>
<div class="line"><a id="l02078" name="l02078"></a><span class="lineno"> 2078</span>            *next++ = 0;</div>
<div class="line"><a id="l02079" name="l02079"></a><span class="lineno"> 2079</span> </div>
<div class="line"><a id="l02080" name="l02080"></a><span class="lineno"> 2080</span>        <span class="keywordflow">if</span> (!memcmp(p, <span class="stringliteral">&quot;chapters&quot;</span>, 8)) {</div>
<div class="line"><a id="l02081" name="l02081"></a><span class="lineno"> 2081</span>            AVChapter * <span class="keyword">const</span> *ch = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>-&gt;chapters;</div>
<div class="line"><a id="l02082" name="l02082"></a><span class="lineno"> 2082</span>            <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>    nb_ch = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>-&gt;nb_chapters;</div>
<div class="line"><a id="l02083" name="l02083"></a><span class="lineno"> 2083</span>            <span class="keywordtype">int</span> j;</div>
<div class="line"><a id="l02084" name="l02084"></a><span class="lineno"> 2084</span> </div>
<div class="line"><a id="l02085" name="l02085"></a><span class="lineno"> 2085</span>            <span class="keywordflow">if</span> (nb_ch &gt; INT_MAX - size ||</div>
<div class="line"><a id="l02086" name="l02086"></a><span class="lineno"> 2086</span>                !(pts = av_realloc_f(pts, size += nb_ch - 1,</div>
<div class="line"><a id="l02087" name="l02087"></a><span class="lineno"> 2087</span>                                     <span class="keyword">sizeof</span>(*pts))))</div>
<div class="line"><a id="l02088" name="l02088"></a><span class="lineno"> 2088</span>                <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a>(AVERROR(ENOMEM));</div>
<div class="line"><a id="l02089" name="l02089"></a><span class="lineno"> 2089</span>            t = p[8] ? <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#aa60d6deab0047c29fc1f6602f812774f">parse_time_or_die</a>(<span class="stringliteral">&quot;force_key_frames&quot;</span>, p + 8, 1) : 0;</div>
<div class="line"><a id="l02090" name="l02090"></a><span class="lineno"> 2090</span> </div>
<div class="line"><a id="l02091" name="l02091"></a><span class="lineno"> 2091</span>            <span class="keywordflow">for</span> (j = 0; j &lt; nb_ch; j++) {</div>
<div class="line"><a id="l02092" name="l02092"></a><span class="lineno"> 2092</span>                <span class="keyword">const</span> AVChapter *c = ch[j];</div>
<div class="line"><a id="l02093" name="l02093"></a><span class="lineno"> 2093</span>                av_assert1(index &lt; size);</div>
<div class="line"><a id="l02094" name="l02094"></a><span class="lineno"> 2094</span>                pts[index++] = av_rescale_q(c-&gt;start, c-&gt;time_base,</div>
<div class="line"><a id="l02095" name="l02095"></a><span class="lineno"> 2095</span>                                            AV_TIME_BASE_Q) + t;</div>
<div class="line"><a id="l02096" name="l02096"></a><span class="lineno"> 2096</span>            }</div>
<div class="line"><a id="l02097" name="l02097"></a><span class="lineno"> 2097</span> </div>
<div class="line"><a id="l02098" name="l02098"></a><span class="lineno"> 2098</span>        } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l02099" name="l02099"></a><span class="lineno"> 2099</span>            av_assert1(index &lt; size);</div>
<div class="line"><a id="l02100" name="l02100"></a><span class="lineno"> 2100</span>            pts[index++] = <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#aa60d6deab0047c29fc1f6602f812774f">parse_time_or_die</a>(<span class="stringliteral">&quot;force_key_frames&quot;</span>, p, 1);</div>
<div class="line"><a id="l02101" name="l02101"></a><span class="lineno"> 2101</span>        }</div>
<div class="line"><a id="l02102" name="l02102"></a><span class="lineno"> 2102</span> </div>
<div class="line"><a id="l02103" name="l02103"></a><span class="lineno"> 2103</span>        p = next;</div>
<div class="line"><a id="l02104" name="l02104"></a><span class="lineno"> 2104</span>    }</div>
<div class="line"><a id="l02105" name="l02105"></a><span class="lineno"> 2105</span> </div>
<div class="line"><a id="l02106" name="l02106"></a><span class="lineno"> 2106</span>    av_assert0(index == size);</div>
<div class="line"><a id="l02107" name="l02107"></a><span class="lineno"> 2107</span>    qsort(pts, size, <span class="keyword">sizeof</span>(*pts), <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a69b0f920b4d91360bd5cd5da5842e282">compare_int64</a>);</div>
<div class="line"><a id="l02108" name="l02108"></a><span class="lineno"> 2108</span>    kf-&gt;<a class="code hl_variable" href="../../d3/da2/struct_keyframe_force_ctx.html#adf798befc0a80e66b7f90fd8f17349ea">nb_pts</a> = size;</div>
<div class="line"><a id="l02109" name="l02109"></a><span class="lineno"> 2109</span>    kf-&gt;<a class="code hl_variable" href="../../d3/da2/struct_keyframe_force_ctx.html#a10dc082c5f386bb0656c57ad00c8d5c4">pts</a>    = pts;</div>
<div class="line"><a id="l02110" name="l02110"></a><span class="lineno"> 2110</span>}</div>
<div class="line"><a id="l02111" name="l02111"></a><span class="lineno"> 2111</span> </div>
<div class="line"><a id="l02112" name="l02112"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8859d3046e157114b243d0ad71e4a691"> 2112</a></span><span class="keyword">static</span> <span class="keywordtype">int</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8859d3046e157114b243d0ad71e4a691">process_forced_keyframes</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o)</div>
<div class="line"><a id="l02113" name="l02113"></a><span class="lineno"> 2113</span>{</div>
<div class="line"><a id="l02114" name="l02114"></a><span class="lineno"> 2114</span>    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>.<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a8bfd4fc9960ee43cab7a0ab5f44f66bb">nb_streams</a>; i++) {</div>
<div class="line"><a id="l02115" name="l02115"></a><span class="lineno"> 2115</span>        <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost = mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>.<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a769a46a097161825d6c4a210bc730207">streams</a>[i];</div>
<div class="line"><a id="l02116" name="l02116"></a><span class="lineno"> 2116</span>        <span class="keyword">const</span> <span class="keywordtype">char</span> *forced_keyframes = NULL;</div>
<div class="line"><a id="l02117" name="l02117"></a><span class="lineno"> 2117</span> </div>
<div class="line"><a id="l02118" name="l02118"></a><span class="lineno"> 2118</span>        <a class="code hl_define" href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a>(forced_key_frames, str, forced_keyframes, mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a>, ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>);</div>
<div class="line"><a id="l02119" name="l02119"></a><span class="lineno"> 2119</span> </div>
<div class="line"><a id="l02120" name="l02120"></a><span class="lineno"> 2120</span>        <span class="keywordflow">if</span> (!(ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_type == AVMEDIA_TYPE_VIDEO &amp;&amp;</div>
<div class="line"><a id="l02121" name="l02121"></a><span class="lineno"> 2121</span>              ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a> &amp;&amp; forced_keyframes))</div>
<div class="line"><a id="l02122" name="l02122"></a><span class="lineno"> 2122</span>            <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l02123" name="l02123"></a><span class="lineno"> 2123</span> </div>
<div class="line"><a id="l02124" name="l02124"></a><span class="lineno"> 2124</span>        <span class="keywordflow">if</span> (!strncmp(forced_keyframes, <span class="stringliteral">&quot;expr:&quot;</span>, 5)) {</div>
<div class="line"><a id="l02125" name="l02125"></a><span class="lineno"> 2125</span>            <span class="keywordtype">int</span> ret = av_expr_parse(&amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a8451cc49d2239d80f7c5e85b232afe56">kf</a>.<a class="code hl_variable" href="../../d3/da2/struct_keyframe_force_ctx.html#aaf699d1e164f7faf3df4f2f5e769aa75">pexpr</a>, forced_keyframes + 5,</div>
<div class="line"><a id="l02126" name="l02126"></a><span class="lineno"> 2126</span>                                    <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a1cd18e061e07695c0547d09e3dd4dcce">forced_keyframes_const_names</a>, NULL, NULL, NULL, NULL, 0, NULL);</div>
<div class="line"><a id="l02127" name="l02127"></a><span class="lineno"> 2127</span>            <span class="keywordflow">if</span> (ret &lt; 0) {</div>
<div class="line"><a id="l02128" name="l02128"></a><span class="lineno"> 2128</span>                av_log(ost, AV_LOG_ERROR,</div>
<div class="line"><a id="l02129" name="l02129"></a><span class="lineno"> 2129</span>                       <span class="stringliteral">&quot;Invalid force_key_frames expression &#39;%s&#39;\n&quot;</span>, forced_keyframes + 5);</div>
<div class="line"><a id="l02130" name="l02130"></a><span class="lineno"> 2130</span>                <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l02131" name="l02131"></a><span class="lineno"> 2131</span>            }</div>
<div class="line"><a id="l02132" name="l02132"></a><span class="lineno"> 2132</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a8451cc49d2239d80f7c5e85b232afe56">kf</a>.<a class="code hl_variable" href="../../d3/da2/struct_keyframe_force_ctx.html#a27d7c4a8b7db90f94076ca6d5be8ad3a">expr_const_values</a>[<a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aa21f6f0cd9174b2bb6223cbd15b83508affb3715058142056c2f602c81e52c15b">FKF_N</a>]             = 0;</div>
<div class="line"><a id="l02133" name="l02133"></a><span class="lineno"> 2133</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a8451cc49d2239d80f7c5e85b232afe56">kf</a>.<a class="code hl_variable" href="../../d3/da2/struct_keyframe_force_ctx.html#a27d7c4a8b7db90f94076ca6d5be8ad3a">expr_const_values</a>[<a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aa21f6f0cd9174b2bb6223cbd15b83508af7bb0577a3c487398eaf009668f9c531">FKF_N_FORCED</a>]      = 0;</div>
<div class="line"><a id="l02134" name="l02134"></a><span class="lineno"> 2134</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a8451cc49d2239d80f7c5e85b232afe56">kf</a>.<a class="code hl_variable" href="../../d3/da2/struct_keyframe_force_ctx.html#a27d7c4a8b7db90f94076ca6d5be8ad3a">expr_const_values</a>[<a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aa21f6f0cd9174b2bb6223cbd15b83508a522165f39cb8f0acf7c4bdebd1beb18a">FKF_PREV_FORCED_N</a>] = NAN;</div>
<div class="line"><a id="l02135" name="l02135"></a><span class="lineno"> 2135</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a8451cc49d2239d80f7c5e85b232afe56">kf</a>.<a class="code hl_variable" href="../../d3/da2/struct_keyframe_force_ctx.html#a27d7c4a8b7db90f94076ca6d5be8ad3a">expr_const_values</a>[<a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#aa21f6f0cd9174b2bb6223cbd15b83508aa4cb3dbc7a44f39776072f4349d1facc">FKF_PREV_FORCED_T</a>] = NAN;</div>
<div class="line"><a id="l02136" name="l02136"></a><span class="lineno"> 2136</span> </div>
<div class="line"><a id="l02137" name="l02137"></a><span class="lineno"> 2137</span>            <span class="comment">// Don&#39;t parse the &#39;forced_keyframes&#39; in case of &#39;keep-source-keyframes&#39;,</span></div>
<div class="line"><a id="l02138" name="l02138"></a><span class="lineno"> 2138</span>            <span class="comment">// parse it only for static kf timings</span></div>
<div class="line"><a id="l02139" name="l02139"></a><span class="lineno"> 2139</span>        } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(forced_keyframes, <span class="stringliteral">&quot;source&quot;</span>)) {</div>
<div class="line"><a id="l02140" name="l02140"></a><span class="lineno"> 2140</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a8451cc49d2239d80f7c5e85b232afe56">kf</a>.<a class="code hl_variable" href="../../d3/da2/struct_keyframe_force_ctx.html#addb12bcf31cc12b09a5f57cad628a41a">type</a> = <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#a99fb83031ce9923c84392b4e92f956b5a5ccd51c4c1ffb37c142459ffde11007a">KF_FORCE_SOURCE</a>;</div>
<div class="line"><a id="l02141" name="l02141"></a><span class="lineno"> 2141</span>        } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (!strcmp(forced_keyframes, <span class="stringliteral">&quot;source_no_drop&quot;</span>)) {</div>
<div class="line"><a id="l02142" name="l02142"></a><span class="lineno"> 2142</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a8451cc49d2239d80f7c5e85b232afe56">kf</a>.<a class="code hl_variable" href="../../d3/da2/struct_keyframe_force_ctx.html#addb12bcf31cc12b09a5f57cad628a41a">type</a> = <a class="code hl_enumvalue" href="../../d7/db3/fftools__ffmpeg_8h.html#a99fb83031ce9923c84392b4e92f956b5aa2017c48a15af981198a1ad0fabec44b">KF_FORCE_SOURCE_NO_DROP</a>;</div>
<div class="line"><a id="l02143" name="l02143"></a><span class="lineno"> 2143</span>        } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l02144" name="l02144"></a><span class="lineno"> 2144</span>            <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a42d773646d7ab8e14550442e81e00bc1">parse_forced_key_frames</a>(&amp;ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a8451cc49d2239d80f7c5e85b232afe56">kf</a>, mux, forced_keyframes);</div>
<div class="line"><a id="l02145" name="l02145"></a><span class="lineno"> 2145</span>        }</div>
<div class="line"><a id="l02146" name="l02146"></a><span class="lineno"> 2146</span>    }</div>
<div class="line"><a id="l02147" name="l02147"></a><span class="lineno"> 2147</span> </div>
<div class="line"><a id="l02148" name="l02148"></a><span class="lineno"> 2148</span>    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l02149" name="l02149"></a><span class="lineno"> 2149</span>}</div>
<div class="line"><a id="l02150" name="l02150"></a><span class="lineno"> 2150</span> </div>
<div class="line"><a id="l02151" name="l02151"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8b091b215b238689a8d82c47cf55045a"> 2151</a></span><span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8b091b215b238689a8d82c47cf55045a">validate_enc_avopt</a>(<a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux, <span class="keyword">const</span> AVDictionary *codec_avopt)</div>
<div class="line"><a id="l02152" name="l02152"></a><span class="lineno"> 2152</span>{</div>
<div class="line"><a id="l02153" name="l02153"></a><span class="lineno"> 2153</span>    <span class="keyword">const</span> AVClass *<span class="keyword">class  </span>= avcodec_get_class();</div>
<div class="line"><a id="l02154" name="l02154"></a><span class="lineno"> 2154</span>    <span class="keyword">const</span> AVClass *fclass = avformat_get_class();</div>
<div class="line"><a id="l02155" name="l02155"></a><span class="lineno"> 2155</span>    <span class="keyword">const</span> <a class="code hl_struct" href="../../de/df2/struct_output_file.html">OutputFile</a> *of = &amp;mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>;</div>
<div class="line"><a id="l02156" name="l02156"></a><span class="lineno"> 2156</span> </div>
<div class="line"><a id="l02157" name="l02157"></a><span class="lineno"> 2157</span>    AVDictionary *unused_opts;</div>
<div class="line"><a id="l02158" name="l02158"></a><span class="lineno"> 2158</span>    <span class="keyword">const</span> AVDictionaryEntry *e;</div>
<div class="line"><a id="l02159" name="l02159"></a><span class="lineno"> 2159</span> </div>
<div class="line"><a id="l02160" name="l02160"></a><span class="lineno"> 2160</span>    unused_opts = <a class="code hl_function" href="../../d7/db3/fftools__ffmpeg_8h.html#a6d9d7394c4f61127f459a0803d627086">strip_specifiers</a>(codec_avopt);</div>
<div class="line"><a id="l02161" name="l02161"></a><span class="lineno"> 2161</span>    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a8bfd4fc9960ee43cab7a0ab5f44f66bb">nb_streams</a>; i++) {</div>
<div class="line"><a id="l02162" name="l02162"></a><span class="lineno"> 2162</span>        e = NULL;</div>
<div class="line"><a id="l02163" name="l02163"></a><span class="lineno"> 2163</span>        <span class="keywordflow">while</span> ((e = av_dict_iterate(of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a769a46a097161825d6c4a210bc730207">streams</a>[i]-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#abf222748d6af0fb0c72fa6b77fe2294e">encoder_opts</a>, e)))</div>
<div class="line"><a id="l02164" name="l02164"></a><span class="lineno"> 2164</span>            av_dict_set(&amp;unused_opts, e-&gt;key, NULL, 0);</div>
<div class="line"><a id="l02165" name="l02165"></a><span class="lineno"> 2165</span>    }</div>
<div class="line"><a id="l02166" name="l02166"></a><span class="lineno"> 2166</span> </div>
<div class="line"><a id="l02167" name="l02167"></a><span class="lineno"> 2167</span>    e = NULL;</div>
<div class="line"><a id="l02168" name="l02168"></a><span class="lineno"> 2168</span>    <span class="keywordflow">while</span> ((e = av_dict_iterate(unused_opts, e))) {</div>
<div class="line"><a id="l02169" name="l02169"></a><span class="lineno"> 2169</span>        <span class="keyword">const</span> AVOption *option = av_opt_find(&amp;<span class="keyword">class</span>, e-&gt;key, NULL, 0,</div>
<div class="line"><a id="l02170" name="l02170"></a><span class="lineno"> 2170</span>                                             AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ);</div>
<div class="line"><a id="l02171" name="l02171"></a><span class="lineno"> 2171</span>        <span class="keyword">const</span> AVOption *foption = av_opt_find(&amp;fclass, e-&gt;key, NULL, 0,</div>
<div class="line"><a id="l02172" name="l02172"></a><span class="lineno"> 2172</span>                                              AV_OPT_SEARCH_CHILDREN | AV_OPT_SEARCH_FAKE_OBJ);</div>
<div class="line"><a id="l02173" name="l02173"></a><span class="lineno"> 2173</span>        <span class="keywordflow">if</span> (!option || foption)</div>
<div class="line"><a id="l02174" name="l02174"></a><span class="lineno"> 2174</span>            <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l02175" name="l02175"></a><span class="lineno"> 2175</span> </div>
<div class="line"><a id="l02176" name="l02176"></a><span class="lineno"> 2176</span>        <span class="keywordflow">if</span> (!(option-&gt;flags &amp; AV_OPT_FLAG_ENCODING_PARAM)) {</div>
<div class="line"><a id="l02177" name="l02177"></a><span class="lineno"> 2177</span>            av_log(mux, AV_LOG_ERROR, <span class="stringliteral">&quot;Codec AVOption %s (%s) is not an &quot;</span></div>
<div class="line"><a id="l02178" name="l02178"></a><span class="lineno"> 2178</span>                   <span class="stringliteral">&quot;encoding option.\n&quot;</span>, e-&gt;key, option-&gt;help ? option-&gt;help : <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l02179" name="l02179"></a><span class="lineno"> 2179</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l02180" name="l02180"></a><span class="lineno"> 2180</span>        }</div>
<div class="line"><a id="l02181" name="l02181"></a><span class="lineno"> 2181</span> </div>
<div class="line"><a id="l02182" name="l02182"></a><span class="lineno"> 2182</span>        <span class="comment">// gop_timecode is injected by generic code but not always used</span></div>
<div class="line"><a id="l02183" name="l02183"></a><span class="lineno"> 2183</span>        <span class="keywordflow">if</span> (!strcmp(e-&gt;key, <span class="stringliteral">&quot;gop_timecode&quot;</span>))</div>
<div class="line"><a id="l02184" name="l02184"></a><span class="lineno"> 2184</span>            <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l02185" name="l02185"></a><span class="lineno"> 2185</span> </div>
<div class="line"><a id="l02186" name="l02186"></a><span class="lineno"> 2186</span>        av_log(mux, AV_LOG_WARNING, <span class="stringliteral">&quot;Codec AVOption %s (%s) has not been used &quot;</span></div>
<div class="line"><a id="l02187" name="l02187"></a><span class="lineno"> 2187</span>               <span class="stringliteral">&quot;for any stream. The most likely reason is either wrong type &quot;</span></div>
<div class="line"><a id="l02188" name="l02188"></a><span class="lineno"> 2188</span>               <span class="stringliteral">&quot;(e.g. a video option with no video streams) or that it is a &quot;</span></div>
<div class="line"><a id="l02189" name="l02189"></a><span class="lineno"> 2189</span>               <span class="stringliteral">&quot;private option of some encoder which was not actually used for &quot;</span></div>
<div class="line"><a id="l02190" name="l02190"></a><span class="lineno"> 2190</span>               <span class="stringliteral">&quot;any stream.\n&quot;</span>, e-&gt;key, option-&gt;help ? option-&gt;help : <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l02191" name="l02191"></a><span class="lineno"> 2191</span>    }</div>
<div class="line"><a id="l02192" name="l02192"></a><span class="lineno"> 2192</span>    av_dict_free(&amp;unused_opts);</div>
<div class="line"><a id="l02193" name="l02193"></a><span class="lineno"> 2193</span>}</div>
<div class="line"><a id="l02194" name="l02194"></a><span class="lineno"> 2194</span> </div>
<div class="line"><a id="l02195" name="l02195"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2128e22de6ca98604033f166b457fd36"> 2195</a></span><span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2128e22de6ca98604033f166b457fd36">output_file_item_name</a>(<span class="keywordtype">void</span> *obj)</div>
<div class="line"><a id="l02196" name="l02196"></a><span class="lineno"> 2196</span>{</div>
<div class="line"><a id="l02197" name="l02197"></a><span class="lineno"> 2197</span>    <span class="keyword">const</span> <a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux = obj;</div>
<div class="line"><a id="l02198" name="l02198"></a><span class="lineno"> 2198</span> </div>
<div class="line"><a id="l02199" name="l02199"></a><span class="lineno"> 2199</span>    <span class="keywordflow">return</span> mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a73312ab28842f8a39a412d43f59d3c70">log_name</a>;</div>
<div class="line"><a id="l02200" name="l02200"></a><span class="lineno"> 2200</span>}</div>
<div class="line"><a id="l02201" name="l02201"></a><span class="lineno"> 2201</span> </div>
<div class="line"><a id="l02202" name="l02202"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aabb332df066d5da80bb857df67a38e9b"> 2202</a></span><span class="keyword">static</span> <span class="keyword">const</span> AVClass <a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aabb332df066d5da80bb857df67a38e9b">output_file_class</a> = {</div>
<div class="line"><a id="l02203" name="l02203"></a><span class="lineno"> 2203</span>    .class_name = <span class="stringliteral">&quot;OutputFile&quot;</span>,</div>
<div class="line"><a id="l02204" name="l02204"></a><span class="lineno"> 2204</span>    .version    = LIBAVUTIL_VERSION_INT,</div>
<div class="line"><a id="l02205" name="l02205"></a><span class="lineno"> 2205</span>    .item_name  = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2128e22de6ca98604033f166b457fd36">output_file_item_name</a>,</div>
<div class="line"><a id="l02206" name="l02206"></a><span class="lineno"> 2206</span>    .category   = AV_CLASS_CATEGORY_MUXER,</div>
<div class="line"><a id="l02207" name="l02207"></a><span class="lineno"> 2207</span>};</div>
<div class="line"><a id="l02208" name="l02208"></a><span class="lineno"> 2208</span> </div>
<div class="line"><a id="l02209" name="l02209"></a><span class="lineno"><a class="line" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9bb5ce9ad69a90978e915bb50ea0de1c"> 2209</a></span><span class="keyword">static</span> <a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *<a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9bb5ce9ad69a90978e915bb50ea0de1c">mux_alloc</a>(<span class="keywordtype">void</span>)</div>
<div class="line"><a id="l02210" name="l02210"></a><span class="lineno"> 2210</span>{</div>
<div class="line"><a id="l02211" name="l02211"></a><span class="lineno"> 2211</span>    <a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux = <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a91eec3bd05ae08ccbafbfff25289f7fa">allocate_array_elem</a>(&amp;<a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a22c5e53407c3f14a8111e898dff42904">output_files</a>, <span class="keyword">sizeof</span>(*mux), &amp;<a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a3d777831518f2c831790dd5cd6b96ddf">nb_output_files</a>);</div>
<div class="line"><a id="l02212" name="l02212"></a><span class="lineno"> 2212</span> </div>
<div class="line"><a id="l02213" name="l02213"></a><span class="lineno"> 2213</span>    mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>.<a class="code hl_variable" href="../../de/df2/struct_output_file.html#ac173a66c6faa19e3d4649cfbdfc8b458">clazz</a> = &amp;<a class="code hl_variable" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aabb332df066d5da80bb857df67a38e9b">output_file_class</a>;</div>
<div class="line"><a id="l02214" name="l02214"></a><span class="lineno"> 2214</span>    mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>.<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a0ec33583a114c68a6c64b103fbd14b0d">index</a> = <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a3d777831518f2c831790dd5cd6b96ddf">nb_output_files</a> - 1;</div>
<div class="line"><a id="l02215" name="l02215"></a><span class="lineno"> 2215</span> </div>
<div class="line"><a id="l02216" name="l02216"></a><span class="lineno"> 2216</span>    snprintf(mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a73312ab28842f8a39a412d43f59d3c70">log_name</a>, <span class="keyword">sizeof</span>(mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a73312ab28842f8a39a412d43f59d3c70">log_name</a>), <span class="stringliteral">&quot;out#%d&quot;</span>, mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>.<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a0ec33583a114c68a6c64b103fbd14b0d">index</a>);</div>
<div class="line"><a id="l02217" name="l02217"></a><span class="lineno"> 2217</span> </div>
<div class="line"><a id="l02218" name="l02218"></a><span class="lineno"> 2218</span>    <span class="keywordflow">return</span> mux;</div>
<div class="line"><a id="l02219" name="l02219"></a><span class="lineno"> 2219</span>}</div>
<div class="line"><a id="l02220" name="l02220"></a><span class="lineno"> 2220</span> </div>
<div class="line"><a id="l02221" name="l02221"></a><span class="lineno"><a class="line" href="../../d7/db3/fftools__ffmpeg_8h.html#a27d8f87fcd208f33de7b9d016540a40f"> 2221</a></span><span class="keywordtype">int</span> <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a27d8f87fcd208f33de7b9d016540a40f">of_open</a>(<span class="keyword">const</span> <a class="code hl_struct" href="../../df/d77/struct_options_context.html">OptionsContext</a> *o, <span class="keyword">const</span> <span class="keywordtype">char</span> *filename)</div>
<div class="line"><a id="l02222" name="l02222"></a><span class="lineno"> 2222</span>{</div>
<div class="line"><a id="l02223" name="l02223"></a><span class="lineno"> 2223</span>    <a class="code hl_struct" href="../../de/d29/struct_muxer.html">Muxer</a> *mux;</div>
<div class="line"><a id="l02224" name="l02224"></a><span class="lineno"> 2224</span>    AVFormatContext *oc;</div>
<div class="line"><a id="l02225" name="l02225"></a><span class="lineno"> 2225</span>    <span class="keywordtype">int</span> err;</div>
<div class="line"><a id="l02226" name="l02226"></a><span class="lineno"> 2226</span>    <a class="code hl_struct" href="../../de/df2/struct_output_file.html">OutputFile</a> *of;</div>
<div class="line"><a id="l02227" name="l02227"></a><span class="lineno"> 2227</span> </div>
<div class="line"><a id="l02228" name="l02228"></a><span class="lineno"> 2228</span>    int64_t recording_time = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a6e38d08faed408a51e45aaf80938d5d6">recording_time</a>;</div>
<div class="line"><a id="l02229" name="l02229"></a><span class="lineno"> 2229</span>    int64_t stop_time      = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#ac73bbf437507775263f8ea53b17f05c6">stop_time</a>;</div>
<div class="line"><a id="l02230" name="l02230"></a><span class="lineno"> 2230</span> </div>
<div class="line"><a id="l02231" name="l02231"></a><span class="lineno"> 2231</span>    mux = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9bb5ce9ad69a90978e915bb50ea0de1c">mux_alloc</a>();</div>
<div class="line"><a id="l02232" name="l02232"></a><span class="lineno"> 2232</span>    of  = &amp;mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">of</a>;</div>
<div class="line"><a id="l02233" name="l02233"></a><span class="lineno"> 2233</span> </div>
<div class="line"><a id="l02234" name="l02234"></a><span class="lineno"> 2234</span>    <span class="keywordflow">if</span> (stop_time != INT64_MAX &amp;&amp; recording_time != INT64_MAX) {</div>
<div class="line"><a id="l02235" name="l02235"></a><span class="lineno"> 2235</span>        stop_time = INT64_MAX;</div>
<div class="line"><a id="l02236" name="l02236"></a><span class="lineno"> 2236</span>        av_log(mux, AV_LOG_WARNING, <span class="stringliteral">&quot;-t and -to cannot be used together; using -t.\n&quot;</span>);</div>
<div class="line"><a id="l02237" name="l02237"></a><span class="lineno"> 2237</span>    }</div>
<div class="line"><a id="l02238" name="l02238"></a><span class="lineno"> 2238</span> </div>
<div class="line"><a id="l02239" name="l02239"></a><span class="lineno"> 2239</span>    <span class="keywordflow">if</span> (stop_time != INT64_MAX &amp;&amp; recording_time == INT64_MAX) {</div>
<div class="line"><a id="l02240" name="l02240"></a><span class="lineno"> 2240</span>        int64_t start_time = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a279a94fdf145188a7999ec4620fa83d6">start_time</a> == AV_NOPTS_VALUE ? 0 : o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a279a94fdf145188a7999ec4620fa83d6">start_time</a>;</div>
<div class="line"><a id="l02241" name="l02241"></a><span class="lineno"> 2241</span>        <span class="keywordflow">if</span> (stop_time &lt;= start_time) {</div>
<div class="line"><a id="l02242" name="l02242"></a><span class="lineno"> 2242</span>            av_log(mux, AV_LOG_ERROR, <span class="stringliteral">&quot;-to value smaller than -ss; aborting.\n&quot;</span>);</div>
<div class="line"><a id="l02243" name="l02243"></a><span class="lineno"> 2243</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l02244" name="l02244"></a><span class="lineno"> 2244</span>        } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l02245" name="l02245"></a><span class="lineno"> 2245</span>            recording_time = stop_time - start_time;</div>
<div class="line"><a id="l02246" name="l02246"></a><span class="lineno"> 2246</span>        }</div>
<div class="line"><a id="l02247" name="l02247"></a><span class="lineno"> 2247</span>    }</div>
<div class="line"><a id="l02248" name="l02248"></a><span class="lineno"> 2248</span> </div>
<div class="line"><a id="l02249" name="l02249"></a><span class="lineno"> 2249</span>    of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#ad160ce6520aad386bead7eb45f6f55a0">recording_time</a> = recording_time;</div>
<div class="line"><a id="l02250" name="l02250"></a><span class="lineno"> 2250</span>    of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#aa4fee66db612c26276b5de30d834d5e0">start_time</a>     = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a279a94fdf145188a7999ec4620fa83d6">start_time</a>;</div>
<div class="line"><a id="l02251" name="l02251"></a><span class="lineno"> 2251</span>    of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#acfef99893985d28ae7f7f6a92e6d1bd7">shortest</a>       = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#ae2d67d4b8daf3a4900bef1db8882b163">shortest</a>;</div>
<div class="line"><a id="l02252" name="l02252"></a><span class="lineno"> 2252</span> </div>
<div class="line"><a id="l02253" name="l02253"></a><span class="lineno"> 2253</span>    mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a3fd10b541d8f8e33c97e2ab9cc66f910">thread_queue_size</a> = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a937b3c7359909e3119e2c2e293f6d484">thread_queue_size</a> &gt; 0 ? o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a937b3c7359909e3119e2c2e293f6d484">thread_queue_size</a> : 8;</div>
<div class="line"><a id="l02254" name="l02254"></a><span class="lineno"> 2254</span>    mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#af393951b0a0abffb231333ef06b0de0e">limit_filesize</a>    = o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#ad6b7677978d525c2797d64a3ae425192">limit_filesize</a>;</div>
<div class="line"><a id="l02255" name="l02255"></a><span class="lineno"> 2255</span>    av_dict_copy(&amp;mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a19f942b28bdb85a1affb699f9af2b834">opts</a>, o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#affab676ea6f867fa622a0a642d8dacf8">g</a>-&gt;<a class="code hl_variable" href="../../d6/d69/struct_option_group.html#aeac5e8e830df2e99aadfe65a471ce8fb">format_opts</a>, 0);</div>
<div class="line"><a id="l02256" name="l02256"></a><span class="lineno"> 2256</span> </div>
<div class="line"><a id="l02257" name="l02257"></a><span class="lineno"> 2257</span>    <span class="keywordflow">if</span> (!strcmp(filename, <span class="stringliteral">&quot;-&quot;</span>))</div>
<div class="line"><a id="l02258" name="l02258"></a><span class="lineno"> 2258</span>        filename = <span class="stringliteral">&quot;pipe:&quot;</span>;</div>
<div class="line"><a id="l02259" name="l02259"></a><span class="lineno"> 2259</span> </div>
<div class="line"><a id="l02260" name="l02260"></a><span class="lineno"> 2260</span>    err = avformat_alloc_output_context2(&amp;oc, NULL, o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a295fefa29d7132a93db9110dce6eeab9">format</a>, filename);</div>
<div class="line"><a id="l02261" name="l02261"></a><span class="lineno"> 2261</span>    <span class="keywordflow">if</span> (!oc) {</div>
<div class="line"><a id="l02262" name="l02262"></a><span class="lineno"> 2262</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a2911387e778b01a25f0e65eabadf1b7b">print_error</a>(filename, err);</div>
<div class="line"><a id="l02263" name="l02263"></a><span class="lineno"> 2263</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l02264" name="l02264"></a><span class="lineno"> 2264</span>    }</div>
<div class="line"><a id="l02265" name="l02265"></a><span class="lineno"> 2265</span>    mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">fc</a> = oc;</div>
<div class="line"><a id="l02266" name="l02266"></a><span class="lineno"> 2266</span> </div>
<div class="line"><a id="l02267" name="l02267"></a><span class="lineno"> 2267</span>    av_strlcat(mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a73312ab28842f8a39a412d43f59d3c70">log_name</a>, <span class="stringliteral">&quot;/&quot;</span>,               <span class="keyword">sizeof</span>(mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a73312ab28842f8a39a412d43f59d3c70">log_name</a>));</div>
<div class="line"><a id="l02268" name="l02268"></a><span class="lineno"> 2268</span>    av_strlcat(mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a73312ab28842f8a39a412d43f59d3c70">log_name</a>, oc-&gt;oformat-&gt;name, <span class="keyword">sizeof</span>(mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a73312ab28842f8a39a412d43f59d3c70">log_name</a>));</div>
<div class="line"><a id="l02269" name="l02269"></a><span class="lineno"> 2269</span> </div>
<div class="line"><a id="l02270" name="l02270"></a><span class="lineno"> 2270</span>    <span class="keywordflow">if</span> (strcmp(oc-&gt;oformat-&gt;name, <span class="stringliteral">&quot;rtp&quot;</span>))</div>
<div class="line"><a id="l02271" name="l02271"></a><span class="lineno"> 2271</span>        <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#aee22300aab0a785e62da0d08de0c20d2">want_sdp</a> = 0;</div>
<div class="line"><a id="l02272" name="l02272"></a><span class="lineno"> 2272</span> </div>
<div class="line"><a id="l02273" name="l02273"></a><span class="lineno"> 2273</span>    of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a0b654e71ffcf8967231369e2b4cf200c">format</a> = oc-&gt;oformat;</div>
<div class="line"><a id="l02274" name="l02274"></a><span class="lineno"> 2274</span>    <span class="keywordflow">if</span> (recording_time != INT64_MAX)</div>
<div class="line"><a id="l02275" name="l02275"></a><span class="lineno"> 2275</span>        oc-&gt;duration = recording_time;</div>
<div class="line"><a id="l02276" name="l02276"></a><span class="lineno"> 2276</span> </div>
<div class="line"><a id="l02277" name="l02277"></a><span class="lineno"> 2277</span>    oc-&gt;interrupt_callback = <a class="code hl_variable" href="../../d7/d48/fftools__ffmpeg_8c.html#a166da4a1a1f99ead2015de10ca32e48f">int_cb</a>;</div>
<div class="line"><a id="l02278" name="l02278"></a><span class="lineno"> 2278</span> </div>
<div class="line"><a id="l02279" name="l02279"></a><span class="lineno"> 2279</span>    <span class="keywordflow">if</span> (o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a1da3f7560a0c9e44cfd8293a5d3d88ab">bitexact</a>) {</div>
<div class="line"><a id="l02280" name="l02280"></a><span class="lineno"> 2280</span>        oc-&gt;flags    |= AVFMT_FLAG_BITEXACT;</div>
<div class="line"><a id="l02281" name="l02281"></a><span class="lineno"> 2281</span>        of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a60be13886ab0ccd7f7fc06d0248eaf58">bitexact</a>  = 1;</div>
<div class="line"><a id="l02282" name="l02282"></a><span class="lineno"> 2282</span>    } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l02283" name="l02283"></a><span class="lineno"> 2283</span>        of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a60be13886ab0ccd7f7fc06d0248eaf58">bitexact</a>  = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#abefc57cd354cac11511160a2b831da2f">check_opt_bitexact</a>(oc, mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a19f942b28bdb85a1affb699f9af2b834">opts</a>, <span class="stringliteral">&quot;fflags&quot;</span>,</div>
<div class="line"><a id="l02284" name="l02284"></a><span class="lineno"> 2284</span>                                           AVFMT_FLAG_BITEXACT);</div>
<div class="line"><a id="l02285" name="l02285"></a><span class="lineno"> 2285</span>    }</div>
<div class="line"><a id="l02286" name="l02286"></a><span class="lineno"> 2286</span> </div>
<div class="line"><a id="l02287" name="l02287"></a><span class="lineno"> 2287</span>    <span class="comment">/* create all output streams for this file */</span></div>
<div class="line"><a id="l02288" name="l02288"></a><span class="lineno"> 2288</span>    <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a0142101b583a6d8d1e00a043cd6ece42">create_streams</a>(mux, o);</div>
<div class="line"><a id="l02289" name="l02289"></a><span class="lineno"> 2289</span> </div>
<div class="line"><a id="l02290" name="l02290"></a><span class="lineno"> 2290</span>    <span class="comment">/* check if all codec options have been used */</span></div>
<div class="line"><a id="l02291" name="l02291"></a><span class="lineno"> 2291</span>    <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8b091b215b238689a8d82c47cf55045a">validate_enc_avopt</a>(mux, o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#affab676ea6f867fa622a0a642d8dacf8">g</a>-&gt;<a class="code hl_variable" href="../../d6/d69/struct_option_group.html#aad0856a7bcf51e6d5e8b9d007d083910">codec_opts</a>);</div>
<div class="line"><a id="l02292" name="l02292"></a><span class="lineno"> 2292</span> </div>
<div class="line"><a id="l02293" name="l02293"></a><span class="lineno"> 2293</span>    <span class="comment">/* set the decoding_needed flags and create simple filtergraphs */</span></div>
<div class="line"><a id="l02294" name="l02294"></a><span class="lineno"> 2294</span>    <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a8bfd4fc9960ee43cab7a0ab5f44f66bb">nb_streams</a>; i++) {</div>
<div class="line"><a id="l02295" name="l02295"></a><span class="lineno"> 2295</span>        <a class="code hl_struct" href="../../db/dde/struct_output_stream.html">OutputStream</a> *ost = of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a769a46a097161825d6c4a210bc730207">streams</a>[i];</div>
<div class="line"><a id="l02296" name="l02296"></a><span class="lineno"> 2296</span> </div>
<div class="line"><a id="l02297" name="l02297"></a><span class="lineno"> 2297</span>        <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a> &amp;&amp; ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>) {</div>
<div class="line"><a id="l02298" name="l02298"></a><span class="lineno"> 2298</span>            <a class="code hl_struct" href="../../d3/d6e/struct_input_stream.html">InputStream</a> *ist = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>;</div>
<div class="line"><a id="l02299" name="l02299"></a><span class="lineno"> 2299</span>            ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#ac9fc51324b931c1db5c5c1445fe70c3b">decoding_needed</a> |= <a class="code hl_define" href="../../d7/db3/fftools__ffmpeg_8h.html#ac19c669906e50a4be81b78eb8777ca8c">DECODING_FOR_OST</a>;</div>
<div class="line"><a id="l02300" name="l02300"></a><span class="lineno"> 2300</span>            ist-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#a6c98acd7bffcebe0d9e13f9d845845e7">processing_needed</a> = 1;</div>
<div class="line"><a id="l02301" name="l02301"></a><span class="lineno"> 2301</span> </div>
<div class="line"><a id="l02302" name="l02302"></a><span class="lineno"> 2302</span>            <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_type == AVMEDIA_TYPE_VIDEO ||</div>
<div class="line"><a id="l02303" name="l02303"></a><span class="lineno"> 2303</span>                ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">st</a>-&gt;codecpar-&gt;codec_type == AVMEDIA_TYPE_AUDIO) {</div>
<div class="line"><a id="l02304" name="l02304"></a><span class="lineno"> 2304</span>                err = <a class="code hl_function" href="../../d7/db3/fftools__ffmpeg_8h.html#a82f6df78dc4d5a93f9708b27f16de2b5">init_simple_filtergraph</a>(ist, ost);</div>
<div class="line"><a id="l02305" name="l02305"></a><span class="lineno"> 2305</span>                <span class="keywordflow">if</span> (err &lt; 0) {</div>
<div class="line"><a id="l02306" name="l02306"></a><span class="lineno"> 2306</span>                    av_log(ost, AV_LOG_ERROR,</div>
<div class="line"><a id="l02307" name="l02307"></a><span class="lineno"> 2307</span>                           <span class="stringliteral">&quot;Error initializing a simple filtergraph\n&quot;</span>);</div>
<div class="line"><a id="l02308" name="l02308"></a><span class="lineno"> 2308</span>                    <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l02309" name="l02309"></a><span class="lineno"> 2309</span>                }</div>
<div class="line"><a id="l02310" name="l02310"></a><span class="lineno"> 2310</span>            }</div>
<div class="line"><a id="l02311" name="l02311"></a><span class="lineno"> 2311</span>        } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>) {</div>
<div class="line"><a id="l02312" name="l02312"></a><span class="lineno"> 2312</span>            ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">ist</a>-&gt;<a class="code hl_variable" href="../../d3/d6e/struct_input_stream.html#a6c98acd7bffcebe0d9e13f9d845845e7">processing_needed</a> = 1;</div>
<div class="line"><a id="l02313" name="l02313"></a><span class="lineno"> 2313</span>        }</div>
<div class="line"><a id="l02314" name="l02314"></a><span class="lineno"> 2314</span> </div>
<div class="line"><a id="l02315" name="l02315"></a><span class="lineno"> 2315</span>        <span class="comment">/* set the filter output constraints */</span></div>
<div class="line"><a id="l02316" name="l02316"></a><span class="lineno"> 2316</span>        <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ad8926e7de923b3eeabd66770caacfe1e">filter</a>) {</div>
<div class="line"><a id="l02317" name="l02317"></a><span class="lineno"> 2317</span>            <span class="keyword">const</span> AVCodec *c = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;codec;</div>
<div class="line"><a id="l02318" name="l02318"></a><span class="lineno"> 2318</span>            <a class="code hl_struct" href="../../d0/d0f/struct_output_filter.html">OutputFilter</a> *f = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ad8926e7de923b3eeabd66770caacfe1e">filter</a>;</div>
<div class="line"><a id="l02319" name="l02319"></a><span class="lineno"> 2319</span>            <span class="keywordflow">switch</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;codec_type) {</div>
<div class="line"><a id="l02320" name="l02320"></a><span class="lineno"> 2320</span>            <span class="keywordflow">case</span> AVMEDIA_TYPE_VIDEO:</div>
<div class="line"><a id="l02321" name="l02321"></a><span class="lineno"> 2321</span>                f-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#ad45013a89f85087d03166652a94d1453">frame_rate</a> = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab13acc03a389653d882f221141f12ae3">frame_rate</a>;</div>
<div class="line"><a id="l02322" name="l02322"></a><span class="lineno"> 2322</span>                f-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#a0a621d752f3ab33e67f0a8f22bee4118">width</a>      = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;width;</div>
<div class="line"><a id="l02323" name="l02323"></a><span class="lineno"> 2323</span>                f-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#aaf9223843b6d814783f74c85b38de080">height</a>     = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;height;</div>
<div class="line"><a id="l02324" name="l02324"></a><span class="lineno"> 2324</span>                <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;pix_fmt != AV_PIX_FMT_NONE) {</div>
<div class="line"><a id="l02325" name="l02325"></a><span class="lineno"> 2325</span>                    f-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#aeba350050d2035d755254154e6551c49">format</a> = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;pix_fmt;</div>
<div class="line"><a id="l02326" name="l02326"></a><span class="lineno"> 2326</span>                } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l02327" name="l02327"></a><span class="lineno"> 2327</span>                    f-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#a8bef5b1f7e6b00ab4128cfcabccd3c50">formats</a> = c-&gt;pix_fmts;</div>
<div class="line"><a id="l02328" name="l02328"></a><span class="lineno"> 2328</span>                }</div>
<div class="line"><a id="l02329" name="l02329"></a><span class="lineno"> 2329</span>                <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02330" name="l02330"></a><span class="lineno"> 2330</span>            <span class="keywordflow">case</span> AVMEDIA_TYPE_AUDIO:</div>
<div class="line"><a id="l02331" name="l02331"></a><span class="lineno"> 2331</span>                <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;sample_fmt != AV_SAMPLE_FMT_NONE) {</div>
<div class="line"><a id="l02332" name="l02332"></a><span class="lineno"> 2332</span>                    f-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#aeba350050d2035d755254154e6551c49">format</a> = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;sample_fmt;</div>
<div class="line"><a id="l02333" name="l02333"></a><span class="lineno"> 2333</span>                } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l02334" name="l02334"></a><span class="lineno"> 2334</span>                    f-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#a8bef5b1f7e6b00ab4128cfcabccd3c50">formats</a> = c-&gt;sample_fmts;</div>
<div class="line"><a id="l02335" name="l02335"></a><span class="lineno"> 2335</span>                }</div>
<div class="line"><a id="l02336" name="l02336"></a><span class="lineno"> 2336</span>                <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;sample_rate) {</div>
<div class="line"><a id="l02337" name="l02337"></a><span class="lineno"> 2337</span>                    f-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#ab0be1ec413ca98912667f1bf76fd2588">sample_rate</a> = ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;sample_rate;</div>
<div class="line"><a id="l02338" name="l02338"></a><span class="lineno"> 2338</span>                } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l02339" name="l02339"></a><span class="lineno"> 2339</span>                    f-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#aca41b2f858937cc98ab36b19e50f9251">sample_rates</a> = c-&gt;supported_samplerates;</div>
<div class="line"><a id="l02340" name="l02340"></a><span class="lineno"> 2340</span>                }</div>
<div class="line"><a id="l02341" name="l02341"></a><span class="lineno"> 2341</span>                <span class="keywordflow">if</span> (ost-&gt;<a class="code hl_variable" href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">enc_ctx</a>-&gt;ch_layout.nb_channels) {</div>
<div class="line"><a id="l02342" name="l02342"></a><span class="lineno"> 2342</span>                    <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a98cf71315f3d23600d7b8fdec5aa9198">set_channel_layout</a>(f, ost);</div>
<div class="line"><a id="l02343" name="l02343"></a><span class="lineno"> 2343</span>                } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (c-&gt;ch_layouts) {</div>
<div class="line"><a id="l02344" name="l02344"></a><span class="lineno"> 2344</span>                    f-&gt;<a class="code hl_variable" href="../../d0/d0f/struct_output_filter.html#a9ff26552ee22fefa55f8194768247a5c">ch_layouts</a> = c-&gt;ch_layouts;</div>
<div class="line"><a id="l02345" name="l02345"></a><span class="lineno"> 2345</span>                }</div>
<div class="line"><a id="l02346" name="l02346"></a><span class="lineno"> 2346</span>                <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l02347" name="l02347"></a><span class="lineno"> 2347</span>            }</div>
<div class="line"><a id="l02348" name="l02348"></a><span class="lineno"> 2348</span>        }</div>
<div class="line"><a id="l02349" name="l02349"></a><span class="lineno"> 2349</span>    }</div>
<div class="line"><a id="l02350" name="l02350"></a><span class="lineno"> 2350</span> </div>
<div class="line"><a id="l02351" name="l02351"></a><span class="lineno"> 2351</span>    <span class="comment">/* check filename in case of an image number is expected */</span></div>
<div class="line"><a id="l02352" name="l02352"></a><span class="lineno"> 2352</span>    <span class="keywordflow">if</span> (oc-&gt;oformat-&gt;flags &amp; AVFMT_NEEDNUMBER) {</div>
<div class="line"><a id="l02353" name="l02353"></a><span class="lineno"> 2353</span>        <span class="keywordflow">if</span> (!av_filename_number_test(oc-&gt;url)) {</div>
<div class="line"><a id="l02354" name="l02354"></a><span class="lineno"> 2354</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a2911387e778b01a25f0e65eabadf1b7b">print_error</a>(oc-&gt;url, AVERROR(EINVAL));</div>
<div class="line"><a id="l02355" name="l02355"></a><span class="lineno"> 2355</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l02356" name="l02356"></a><span class="lineno"> 2356</span>        }</div>
<div class="line"><a id="l02357" name="l02357"></a><span class="lineno"> 2357</span>    }</div>
<div class="line"><a id="l02358" name="l02358"></a><span class="lineno"> 2358</span> </div>
<div class="line"><a id="l02359" name="l02359"></a><span class="lineno"> 2359</span>    <span class="keywordflow">if</span> (!(oc-&gt;oformat-&gt;flags &amp; AVFMT_NOFILE)) {</div>
<div class="line"><a id="l02360" name="l02360"></a><span class="lineno"> 2360</span>        <span class="comment">/* test if it already exists to avoid losing precious files */</span></div>
<div class="line"><a id="l02361" name="l02361"></a><span class="lineno"> 2361</span>        <a class="code hl_function" href="../../d7/db3/fftools__ffmpeg_8h.html#a9bc9a2fdcee987f9900054f9d7dc28e9">assert_file_overwrite</a>(filename);</div>
<div class="line"><a id="l02362" name="l02362"></a><span class="lineno"> 2362</span> </div>
<div class="line"><a id="l02363" name="l02363"></a><span class="lineno"> 2363</span>        <span class="comment">/* open the file */</span></div>
<div class="line"><a id="l02364" name="l02364"></a><span class="lineno"> 2364</span>        <span class="keywordflow">if</span> ((err = avio_open2(&amp;oc-&gt;pb, filename, AVIO_FLAG_WRITE,</div>
<div class="line"><a id="l02365" name="l02365"></a><span class="lineno"> 2365</span>                              &amp;oc-&gt;interrupt_callback,</div>
<div class="line"><a id="l02366" name="l02366"></a><span class="lineno"> 2366</span>                              &amp;mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a19f942b28bdb85a1affb699f9af2b834">opts</a>)) &lt; 0) {</div>
<div class="line"><a id="l02367" name="l02367"></a><span class="lineno"> 2367</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a2911387e778b01a25f0e65eabadf1b7b">print_error</a>(filename, err);</div>
<div class="line"><a id="l02368" name="l02368"></a><span class="lineno"> 2368</span>            <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l02369" name="l02369"></a><span class="lineno"> 2369</span>        }</div>
<div class="line"><a id="l02370" name="l02370"></a><span class="lineno"> 2370</span>    } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (strcmp(oc-&gt;oformat-&gt;name, <span class="stringliteral">&quot;image2&quot;</span>)==0 &amp;&amp; !av_filename_number_test(filename))</div>
<div class="line"><a id="l02371" name="l02371"></a><span class="lineno"> 2371</span>        <a class="code hl_function" href="../../d7/db3/fftools__ffmpeg_8h.html#a9bc9a2fdcee987f9900054f9d7dc28e9">assert_file_overwrite</a>(filename);</div>
<div class="line"><a id="l02372" name="l02372"></a><span class="lineno"> 2372</span> </div>
<div class="line"><a id="l02373" name="l02373"></a><span class="lineno"> 2373</span>    <span class="keywordflow">if</span> (o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a07d718f49941fb773665ac6f0657bab8">mux_preload</a>) {</div>
<div class="line"><a id="l02374" name="l02374"></a><span class="lineno"> 2374</span>        av_dict_set_int(&amp;mux-&gt;<a class="code hl_variable" href="../../de/d29/struct_muxer.html#a19f942b28bdb85a1affb699f9af2b834">opts</a>, <span class="stringliteral">&quot;preload&quot;</span>, o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a07d718f49941fb773665ac6f0657bab8">mux_preload</a>*AV_TIME_BASE, 0);</div>
<div class="line"><a id="l02375" name="l02375"></a><span class="lineno"> 2375</span>    }</div>
<div class="line"><a id="l02376" name="l02376"></a><span class="lineno"> 2376</span>    oc-&gt;max_delay = (<a class="code hl_variable" href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a>)(o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#adefe378fc52e83215a84f9fd8fd40e0e">mux_max_delay</a> * AV_TIME_BASE);</div>
<div class="line"><a id="l02377" name="l02377"></a><span class="lineno"> 2377</span> </div>
<div class="line"><a id="l02378" name="l02378"></a><span class="lineno"> 2378</span>    <span class="comment">/* copy metadata and chapters from input files */</span></div>
<div class="line"><a id="l02379" name="l02379"></a><span class="lineno"> 2379</span>    <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2239d6a510d4c7615978f300434f298a">copy_meta</a>(mux, o);</div>
<div class="line"><a id="l02380" name="l02380"></a><span class="lineno"> 2380</span> </div>
<div class="line"><a id="l02381" name="l02381"></a><span class="lineno"> 2381</span>    <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a1abc88cf9e325f0110183b521931cde5">of_add_programs</a>(mux, o);</div>
<div class="line"><a id="l02382" name="l02382"></a><span class="lineno"> 2382</span>    <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae1d7e15bf63b966dad71bd77a9864f9e">of_add_metadata</a>(of, oc, o);</div>
<div class="line"><a id="l02383" name="l02383"></a><span class="lineno"> 2383</span> </div>
<div class="line"><a id="l02384" name="l02384"></a><span class="lineno"> 2384</span>    err = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aa28a00da6512e802387b7ab0a2915d85">set_dispositions</a>(mux, o);</div>
<div class="line"><a id="l02385" name="l02385"></a><span class="lineno"> 2385</span>    <span class="keywordflow">if</span> (err &lt; 0) {</div>
<div class="line"><a id="l02386" name="l02386"></a><span class="lineno"> 2386</span>        av_log(mux, AV_LOG_FATAL, <span class="stringliteral">&quot;Error setting output stream dispositions\n&quot;</span>);</div>
<div class="line"><a id="l02387" name="l02387"></a><span class="lineno"> 2387</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l02388" name="l02388"></a><span class="lineno"> 2388</span>    }</div>
<div class="line"><a id="l02389" name="l02389"></a><span class="lineno"> 2389</span> </div>
<div class="line"><a id="l02390" name="l02390"></a><span class="lineno"> 2390</span>    <span class="comment">// parse forced keyframe specifications;</span></div>
<div class="line"><a id="l02391" name="l02391"></a><span class="lineno"> 2391</span>    <span class="comment">// must be done after chapters are created</span></div>
<div class="line"><a id="l02392" name="l02392"></a><span class="lineno"> 2392</span>    err = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8859d3046e157114b243d0ad71e4a691">process_forced_keyframes</a>(mux, o);</div>
<div class="line"><a id="l02393" name="l02393"></a><span class="lineno"> 2393</span>    <span class="keywordflow">if</span> (err &lt; 0) {</div>
<div class="line"><a id="l02394" name="l02394"></a><span class="lineno"> 2394</span>        av_log(mux, AV_LOG_FATAL, <span class="stringliteral">&quot;Error processing forced keyframes\n&quot;</span>);</div>
<div class="line"><a id="l02395" name="l02395"></a><span class="lineno"> 2395</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l02396" name="l02396"></a><span class="lineno"> 2396</span>    }</div>
<div class="line"><a id="l02397" name="l02397"></a><span class="lineno"> 2397</span> </div>
<div class="line"><a id="l02398" name="l02398"></a><span class="lineno"> 2398</span>    err = <a class="code hl_function" href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a88a0a2a6fdf606bc1d5268938a2e6cae">setup_sync_queues</a>(mux, oc, o-&gt;<a class="code hl_variable" href="../../df/d77/struct_options_context.html#a7ad2b1ced6b2f98d20829334a882d657">shortest_buf_duration</a> * AV_TIME_BASE);</div>
<div class="line"><a id="l02399" name="l02399"></a><span class="lineno"> 2399</span>    <span class="keywordflow">if</span> (err &lt; 0) {</div>
<div class="line"><a id="l02400" name="l02400"></a><span class="lineno"> 2400</span>        av_log(mux, AV_LOG_FATAL, <span class="stringliteral">&quot;Error setting up output sync queues\n&quot;</span>);</div>
<div class="line"><a id="l02401" name="l02401"></a><span class="lineno"> 2401</span>        <a class="code hl_function" href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a>(1);</div>
<div class="line"><a id="l02402" name="l02402"></a><span class="lineno"> 2402</span>    }</div>
<div class="line"><a id="l02403" name="l02403"></a><span class="lineno"> 2403</span> </div>
<div class="line"><a id="l02404" name="l02404"></a><span class="lineno"> 2404</span>    of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a52499af7fa152f912d7361490a0bba5d">url</a>        = filename;</div>
<div class="line"><a id="l02405" name="l02405"></a><span class="lineno"> 2405</span> </div>
<div class="line"><a id="l02406" name="l02406"></a><span class="lineno"> 2406</span>    <span class="comment">/* write the header for files with no streams */</span></div>
<div class="line"><a id="l02407" name="l02407"></a><span class="lineno"> 2407</span>    <span class="keywordflow">if</span> (of-&gt;<a class="code hl_variable" href="../../de/df2/struct_output_file.html#a0b654e71ffcf8967231369e2b4cf200c">format</a>-&gt;flags &amp; AVFMT_NOSTREAMS &amp;&amp; oc-&gt;nb_streams == 0) {</div>
<div class="line"><a id="l02408" name="l02408"></a><span class="lineno"> 2408</span>        <span class="keywordtype">int</span> ret = <a class="code hl_function" href="../../d5/d94/fftools__ffmpeg__mux_8c.html#ab2d70d28711fd0ab3e019e2d1eafd938">mux_check_init</a>(mux);</div>
<div class="line"><a id="l02409" name="l02409"></a><span class="lineno"> 2409</span>        <span class="keywordflow">if</span> (ret &lt; 0)</div>
<div class="line"><a id="l02410" name="l02410"></a><span class="lineno"> 2410</span>            <span class="keywordflow">return</span> ret;</div>
<div class="line"><a id="l02411" name="l02411"></a><span class="lineno"> 2411</span>    }</div>
<div class="line"><a id="l02412" name="l02412"></a><span class="lineno"> 2412</span> </div>
<div class="line"><a id="l02413" name="l02413"></a><span class="lineno"> 2413</span>    <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l02414" name="l02414"></a><span class="lineno"> 2414</span>}</div>
<div class="ttc" id="afftools__cmdutils_8c_html_a00fcf983c7dd20dd65568b3ebc20ed44"><div class="ttname"><a href="../../d7/dcc/fftools__cmdutils_8c.html#a00fcf983c7dd20dd65568b3ebc20ed44">exit_program</a></div><div class="ttdeci">void exit_program(int ret)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/dcc/fftools__cmdutils_8c_source.html#l00145">fftools_cmdutils.c:145</a></div></div>
<div class="ttc" id="afftools__cmdutils_8c_html_a2911387e778b01a25f0e65eabadf1b7b"><div class="ttname"><a href="../../d7/dcc/fftools__cmdutils_8c.html#a2911387e778b01a25f0e65eabadf1b7b">print_error</a></div><div class="ttdeci">void print_error(const char *filename, int err)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/dcc/fftools__cmdutils_8c_source.html#l00858">fftools_cmdutils.c:858</a></div></div>
<div class="ttc" id="afftools__cmdutils_8c_html_a3aa39faacd4687b4af180f8e06f0b8f1"><div class="ttname"><a href="../../d7/dcc/fftools__cmdutils_8c.html#a3aa39faacd4687b4af180f8e06f0b8f1">report_and_exit</a></div><div class="ttdeci">void report_and_exit(int ret)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/dcc/fftools__cmdutils_8c_source.html#l00139">fftools_cmdutils.c:139</a></div></div>
<div class="ttc" id="afftools__cmdutils_8c_html_a632b71e4b56c5ee8556a407bbecbcef8"><div class="ttname"><a href="../../d7/dcc/fftools__cmdutils_8c.html#a632b71e4b56c5ee8556a407bbecbcef8">check_stream_specifier</a></div><div class="ttdeci">int check_stream_specifier(AVFormatContext *s, AVStream *st, const char *spec)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/dcc/fftools__cmdutils_8c_source.html#l00946">fftools_cmdutils.c:946</a></div></div>
<div class="ttc" id="afftools__cmdutils_8c_html_a91eec3bd05ae08ccbafbfff25289f7fa"><div class="ttname"><a href="../../d7/dcc/fftools__cmdutils_8c.html#a91eec3bd05ae08ccbafbfff25289f7fa">allocate_array_elem</a></div><div class="ttdeci">void * allocate_array_elem(void *ptr, size_t elem_size, int *nb_elems)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/dcc/fftools__cmdutils_8c_source.html#l01046">fftools_cmdutils.c:1046</a></div></div>
<div class="ttc" id="afftools__cmdutils_8c_html_aa60d6deab0047c29fc1f6602f812774f"><div class="ttname"><a href="../../d7/dcc/fftools__cmdutils_8c.html#aa60d6deab0047c29fc1f6602f812774f">parse_time_or_die</a></div><div class="ttdeci">int64_t parse_time_or_die(const char *context, const char *timestr, int is_duration)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/dcc/fftools__cmdutils_8c_source.html#l00178">fftools_cmdutils.c:178</a></div></div>
<div class="ttc" id="afftools__cmdutils_8c_html_ad0557532a11ce0dfa427a8a9e94b968b"><div class="ttname"><a href="../../d7/dcc/fftools__cmdutils_8c.html#ad0557532a11ce0dfa427a8a9e94b968b">filter_codec_opts</a></div><div class="ttdeci">AVDictionary * filter_codec_opts(AVDictionary *opts, enum AVCodecID codec_id, AVFormatContext *s, AVStream *st, const AVCodec *codec)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/dcc/fftools__cmdutils_8c_source.html#l00954">fftools_cmdutils.c:954</a></div></div>
<div class="ttc" id="afftools__cmdutils_8h_html"><div class="ttname"><a href="../../d8/d4e/fftools__cmdutils_8h.html">fftools_cmdutils.h</a></div></div>
<div class="ttc" id="afftools__cmdutils_8h_html_aa75501e4e249657d5f0df6d7e8645d4f"><div class="ttname"><a href="../../d8/d4e/fftools__cmdutils_8h.html#aa75501e4e249657d5f0df6d7e8645d4f">GROW_ARRAY</a></div><div class="ttdeci">#define GROW_ARRAY(array, nb_elems)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d4e/fftools__cmdutils_8h_source.html#l00492">fftools_cmdutils.h:492</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8c_html_a166da4a1a1f99ead2015de10ca32e48f"><div class="ttname"><a href="../../d7/d48/fftools__ffmpeg_8c.html#a166da4a1a1f99ead2015de10ca32e48f">int_cb</a></div><div class="ttdeci">__thread const AVIOInterruptCB int_cb</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d48/fftools__ffmpeg_8c_source.html#l00657">fftools_ffmpeg.c:657</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8c_html_a22c5e53407c3f14a8111e898dff42904"><div class="ttname"><a href="../../d7/d48/fftools__ffmpeg_8c.html#a22c5e53407c3f14a8111e898dff42904">output_files</a></div><div class="ttdeci">__thread OutputFile ** output_files</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d48/fftools__ffmpeg_8c_source.html#l00210">fftools_ffmpeg.c:210</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8c_html_a35146af7b101927e2e6aaaf49022f9b7"><div class="ttname"><a href="../../d7/d48/fftools__ffmpeg_8c.html#a35146af7b101927e2e6aaaf49022f9b7">nb_input_files</a></div><div class="ttdeci">__thread int nb_input_files</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d48/fftools__ffmpeg_8c_source.html#l00208">fftools_ffmpeg.c:208</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8c_html_a3d777831518f2c831790dd5cd6b96ddf"><div class="ttname"><a href="../../d7/d48/fftools__ffmpeg_8c.html#a3d777831518f2c831790dd5cd6b96ddf">nb_output_files</a></div><div class="ttdeci">__thread int nb_output_files</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d48/fftools__ffmpeg_8c_source.html#l00211">fftools_ffmpeg.c:211</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8c_html_a531b5fbb3fccb6bfab1f3cfa2f391b70"><div class="ttname"><a href="../../d7/d48/fftools__ffmpeg_8c.html#a531b5fbb3fccb6bfab1f3cfa2f391b70">fix_sub_duration_heartbeat</a></div><div class="ttdeci">static int fix_sub_duration_heartbeat(InputStream *ist, int64_t signal_pts)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d48/fftools__ffmpeg_8c_source.html#l02650">fftools_ffmpeg.c:2650</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8c_html_a5ea9613c6b24f9f9aec20afde671ad3a"><div class="ttname"><a href="../../d7/d48/fftools__ffmpeg_8c.html#a5ea9613c6b24f9f9aec20afde671ad3a">copy_unknown_streams</a></div><div class="ttdeci">__thread int copy_unknown_streams</div><div class="ttdef"><b>Definition</b> <a href="../../da/d66/fftools__ffmpeg__opt_8c_source.html#l00141">fftools_ffmpeg_opt.c:141</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8c_html_a8815f40afdcda266b01da4b3137a99a3"><div class="ttname"><a href="../../d7/d48/fftools__ffmpeg_8c.html#a8815f40afdcda266b01da4b3137a99a3">input_files</a></div><div class="ttdeci">__thread InputFile ** input_files</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d48/fftools__ffmpeg_8c_source.html#l00207">fftools_ffmpeg.c:207</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8c_html_a902ed0b2ffc617e274426bc05118f1c3"><div class="ttname"><a href="../../d7/d48/fftools__ffmpeg_8c.html#a902ed0b2ffc617e274426bc05118f1c3">filtergraphs</a></div><div class="ttdeci">__thread FilterGraph ** filtergraphs</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d48/fftools__ffmpeg_8c_source.html#l00213">fftools_ffmpeg.c:213</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8c_html_ac69138c251f85a6e3233c9a70884be93"><div class="ttname"><a href="../../d7/d48/fftools__ffmpeg_8c.html#ac69138c251f85a6e3233c9a70884be93">nb_filtergraphs</a></div><div class="ttdeci">__thread int nb_filtergraphs</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d48/fftools__ffmpeg_8c_source.html#l00214">fftools_ffmpeg.c:214</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8c_html_ae1a832e0aee85dbc82c89e7f91b94619"><div class="ttname"><a href="../../d7/d48/fftools__ffmpeg_8c.html#ae1a832e0aee85dbc82c89e7f91b94619">do_psnr</a></div><div class="ttdeci">__thread int do_psnr</div><div class="ttdef"><b>Definition</b> <a href="../../da/d66/fftools__ffmpeg__opt_8c_source.html#l00138">fftools_ffmpeg_opt.c:138</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8c_html_ae9f3a1f8d338e96d68436250ca9fd7da"><div class="ttname"><a href="../../d7/d48/fftools__ffmpeg_8c.html#ae9f3a1f8d338e96d68436250ca9fd7da">ist_iter</a></div><div class="ttdeci">InputStream * ist_iter(InputStream *prev)</div><div class="ttdef"><b>Definition</b> <a href="../../d7/d48/fftools__ffmpeg_8c_source.html#l00763">fftools_ffmpeg.c:763</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8c_html_aee22300aab0a785e62da0d08de0c20d2"><div class="ttname"><a href="../../d7/d48/fftools__ffmpeg_8c.html#aee22300aab0a785e62da0d08de0c20d2">want_sdp</a></div><div class="ttdeci">__thread int want_sdp</div><div class="ttdef"><b>Definition</b> <a href="../../d5/d94/fftools__ffmpeg__mux_8c_source.html#l00066">fftools_ffmpeg_mux.c:66</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8c_html_af776ea0ed951054185f753d7d255d884"><div class="ttname"><a href="../../d7/d48/fftools__ffmpeg_8c.html#af776ea0ed951054185f753d7d255d884">ignore_unknown_streams</a></div><div class="ttdeci">__thread int ignore_unknown_streams</div><div class="ttdef"><b>Definition</b> <a href="../../da/d66/fftools__ffmpeg__opt_8c_source.html#l00140">fftools_ffmpeg_opt.c:140</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html">fftools_ffmpeg.h</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_a1e6653dff65cbd9baaf18f681f27e865"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#a1e6653dff65cbd9baaf18f681f27e865">parse_and_set_vsync</a></div><div class="ttdeci">int parse_and_set_vsync(const char *arg, int *vsync_var, int file_idx, int st_idx, int is_global)</div><div class="ttdef"><b>Definition</b> <a href="../../da/d66/fftools__ffmpeg__opt_8c_source.html#l00228">fftools_ffmpeg_opt.c:228</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_a24d29f7291e9771cfc406580536e1aa6"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#a24d29f7291e9771cfc406580536e1aa6">video_sync_method</a></div><div class="ttdeci">__thread enum VideoSyncMethod video_sync_method</div><div class="ttdef"><b>Definition</b> <a href="../../da/d66/fftools__ffmpeg__opt_8c_source.html#l00112">fftools_ffmpeg_opt.c:112</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_a4840dc6953824a08972501cff95620e5"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#a4840dc6953824a08972501cff95620e5">copy_ts</a></div><div class="ttdeci">__thread int copy_ts</div><div class="ttdef"><b>Definition</b> <a href="../../da/d66/fftools__ffmpeg__opt_8c_source.html#l00118">fftools_ffmpeg_opt.c:118</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_a6d9d7394c4f61127f459a0803d627086"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#a6d9d7394c4f61127f459a0803d627086">strip_specifiers</a></div><div class="ttdeci">AVDictionary * strip_specifiers(const AVDictionary *dict)</div><div class="ttdef"><b>Definition</b> <a href="../../da/d66/fftools__ffmpeg__opt_8c_source.html#l00211">fftools_ffmpeg_opt.c:211</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_a82f6df78dc4d5a93f9708b27f16de2b5"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#a82f6df78dc4d5a93f9708b27f16de2b5">init_simple_filtergraph</a></div><div class="ttdeci">int init_simple_filtergraph(InputStream *ist, OutputStream *ost)</div><div class="ttdef"><b>Definition</b> <a href="../../d2/d36/fftools__ffmpeg__filter_8c_source.html#l00203">fftools_ffmpeg_filter.c:203</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_a99fb83031ce9923c84392b4e92f956b5a5ccd51c4c1ffb37c142459ffde11007a"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#a99fb83031ce9923c84392b4e92f956b5a5ccd51c4c1ffb37c142459ffde11007a">KF_FORCE_SOURCE</a></div><div class="ttdeci">@ KF_FORCE_SOURCE</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00591">fftools_ffmpeg.h:591</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_a99fb83031ce9923c84392b4e92f956b5aa2017c48a15af981198a1ad0fabec44b"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#a99fb83031ce9923c84392b4e92f956b5aa2017c48a15af981198a1ad0fabec44b">KF_FORCE_SOURCE_NO_DROP</a></div><div class="ttdeci">@ KF_FORCE_SOURCE_NO_DROP</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00592">fftools_ffmpeg.h:592</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_a9bc9a2fdcee987f9900054f9d7dc28e9"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#a9bc9a2fdcee987f9900054f9d7dc28e9">assert_file_overwrite</a></div><div class="ttdeci">void assert_file_overwrite(const char *filename)</div><div class="ttdef"><b>Definition</b> <a href="../../da/d66/fftools__ffmpeg__opt_8c_source.html#l00700">fftools_ffmpeg_opt.c:700</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_aa21f6f0cd9174b2bb6223cbd15b83508a522165f39cb8f0acf7c4bdebd1beb18a"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#aa21f6f0cd9174b2bb6223cbd15b83508a522165f39cb8f0acf7c4bdebd1beb18a">FKF_PREV_FORCED_N</a></div><div class="ttdeci">@ FKF_PREV_FORCED_N</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00539">fftools_ffmpeg.h:539</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_aa21f6f0cd9174b2bb6223cbd15b83508aa4cb3dbc7a44f39776072f4349d1facc"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#aa21f6f0cd9174b2bb6223cbd15b83508aa4cb3dbc7a44f39776072f4349d1facc">FKF_PREV_FORCED_T</a></div><div class="ttdeci">@ FKF_PREV_FORCED_T</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00540">fftools_ffmpeg.h:540</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_aa21f6f0cd9174b2bb6223cbd15b83508af7bb0577a3c487398eaf009668f9c531"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#aa21f6f0cd9174b2bb6223cbd15b83508af7bb0577a3c487398eaf009668f9c531">FKF_N_FORCED</a></div><div class="ttdeci">@ FKF_N_FORCED</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00538">fftools_ffmpeg.h:538</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_aa21f6f0cd9174b2bb6223cbd15b83508affb3715058142056c2f602c81e52c15b"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#aa21f6f0cd9174b2bb6223cbd15b83508affb3715058142056c2f602c81e52c15b">FKF_N</a></div><div class="ttdeci">@ FKF_N</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00537">fftools_ffmpeg.h:537</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_aadd6ba914d1b3ecdf3b1322294beed34a303341febeffec9a9832569259ac9176"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34a303341febeffec9a9832569259ac9176">VSYNC_VFR</a></div><div class="ttdeci">@ VSYNC_VFR</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00111">fftools_ffmpeg.h:111</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_aadd6ba914d1b3ecdf3b1322294beed34a591ae9ea87e3db92fa4bf7d1dbbdbd78"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34a591ae9ea87e3db92fa4bf7d1dbbdbd78">VSYNC_AUTO</a></div><div class="ttdeci">@ VSYNC_AUTO</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00108">fftools_ffmpeg.h:108</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_aadd6ba914d1b3ecdf3b1322294beed34a8cf889340d51141b5d64ef537458e7ed"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34a8cf889340d51141b5d64ef537458e7ed">VSYNC_PASSTHROUGH</a></div><div class="ttdeci">@ VSYNC_PASSTHROUGH</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00109">fftools_ffmpeg.h:109</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_aadd6ba914d1b3ecdf3b1322294beed34ab4d18d4760ad6bf1ec3d9f4872249de1"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34ab4d18d4760ad6bf1ec3d9f4872249de1">VSYNC_CFR</a></div><div class="ttdeci">@ VSYNC_CFR</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00110">fftools_ffmpeg.h:110</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_aadd6ba914d1b3ecdf3b1322294beed34ad51587830d4a754f82cde253cd429c63"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#aadd6ba914d1b3ecdf3b1322294beed34ad51587830d4a754f82cde253cd429c63">VSYNC_VSCFR</a></div><div class="ttdeci">@ VSYNC_VSCFR</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00112">fftools_ffmpeg.h:112</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_abba39d7a278d64e44d87eebe46bae34c"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#abba39d7a278d64e44d87eebe46bae34c">find_codec_or_die</a></div><div class="ttdeci">const AVCodec * find_codec_or_die(void *logctx, const char *name, enum AVMediaType type, int encoder)</div><div class="ttdef"><b>Definition</b> <a href="../../da/d66/fftools__ffmpeg__opt_8c_source.html#l00670">fftools_ffmpeg_opt.c:670</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_ac19c669906e50a4be81b78eb8777ca8c"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#ac19c669906e50a4be81b78eb8777ca8c">DECODING_FOR_OST</a></div><div class="ttdeci">#define DECODING_FOR_OST</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00390">fftools_ffmpeg.h:390</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_aece5258804b85a3e9a48f050c915e5cc"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#aece5258804b85a3e9a48f050c915e5cc">file_read</a></div><div class="ttdeci">char * file_read(const char *filename)</div><div class="ttdef"><b>Definition</b> <a href="../../da/d66/fftools__ffmpeg__opt_8c_source.html#l00743">fftools_ffmpeg_opt.c:743</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491">EncStatsType</a></div><div class="ttdeci">EncStatsType</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00548">fftools_ffmpeg.h:548</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491a051062cf3b10962bcc661d3042b70c02"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a051062cf3b10962bcc661d3042b70c02">ENC_STATS_STREAM_IDX</a></div><div class="ttdeci">@ ENC_STATS_STREAM_IDX</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00551">fftools_ffmpeg.h:551</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491a05626d5941aec26804d242927e4f8a78"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a05626d5941aec26804d242927e4f8a78">ENC_STATS_PTS_TIME</a></div><div class="ttdeci">@ ENC_STATS_PTS_TIME</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00557">fftools_ffmpeg.h:557</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491a1672a006c8244bbd4ac58b016932b115"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a1672a006c8244bbd4ac58b016932b115">ENC_STATS_SAMPLE_NUM</a></div><div class="ttdeci">@ ENC_STATS_SAMPLE_NUM</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00562">fftools_ffmpeg.h:562</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491a18755d86da2b9bed2608a5726bf965c0"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a18755d86da2b9bed2608a5726bf965c0">ENC_STATS_AVG_BITRATE</a></div><div class="ttdeci">@ ENC_STATS_AVG_BITRATE</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00566">fftools_ffmpeg.h:566</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491a641f94f23e1372be2e22304754d271a8"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a641f94f23e1372be2e22304754d271a8">ENC_STATS_LITERAL</a></div><div class="ttdeci">@ ENC_STATS_LITERAL</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00549">fftools_ffmpeg.h:549</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491a6cbf117d394a490309ab3575ecac3828"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a6cbf117d394a490309ab3575ecac3828">ENC_STATS_TIMEBASE</a></div><div class="ttdeci">@ ENC_STATS_TIMEBASE</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00554">fftools_ffmpeg.h:554</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491a8bfe64444a29f1df6e844e4b0b634a72"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a8bfe64444a29f1df6e844e4b0b634a72">ENC_STATS_DTS_TIME</a></div><div class="ttdeci">@ ENC_STATS_DTS_TIME</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00561">fftools_ffmpeg.h:561</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491a9e2ec6653396dd4befa5a77ec91fe4e9"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491a9e2ec6653396dd4befa5a77ec91fe4e9">ENC_STATS_PKT_SIZE</a></div><div class="ttdeci">@ ENC_STATS_PKT_SIZE</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00564">fftools_ffmpeg.h:564</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491aa8a8532620d36bc0755aa975b3e241b3"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491aa8a8532620d36bc0755aa975b3e241b3">ENC_STATS_FRAME_NUM_IN</a></div><div class="ttdeci">@ ENC_STATS_FRAME_NUM_IN</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00553">fftools_ffmpeg.h:553</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491aabaa9c9bfb8dd8c1db4735423e258d25"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491aabaa9c9bfb8dd8c1db4735423e258d25">ENC_STATS_PTS</a></div><div class="ttdeci">@ ENC_STATS_PTS</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00556">fftools_ffmpeg.h:556</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491aad00637568cd7c49f4fefe3347a8a02b"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491aad00637568cd7c49f4fefe3347a8a02b">ENC_STATS_FRAME_NUM</a></div><div class="ttdeci">@ ENC_STATS_FRAME_NUM</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00552">fftools_ffmpeg.h:552</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491abf6c4f90e9fe7c33818688220c3a88a0"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491abf6c4f90e9fe7c33818688220c3a88a0">ENC_STATS_FILE_IDX</a></div><div class="ttdeci">@ ENC_STATS_FILE_IDX</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00550">fftools_ffmpeg.h:550</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491ac7548a2352bc66f02033e5b7dd089875"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491ac7548a2352bc66f02033e5b7dd089875">ENC_STATS_DTS</a></div><div class="ttdeci">@ ENC_STATS_DTS</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00560">fftools_ffmpeg.h:560</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491ad5e92a74e1ba2c1a585d48ee9cf4d142"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491ad5e92a74e1ba2c1a585d48ee9cf4d142">ENC_STATS_BITRATE</a></div><div class="ttdeci">@ ENC_STATS_BITRATE</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00565">fftools_ffmpeg.h:565</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491af70985529f5ec59c12fe0e8475d14551"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491af70985529f5ec59c12fe0e8475d14551">ENC_STATS_PTS_IN</a></div><div class="ttdeci">@ ENC_STATS_PTS_IN</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00558">fftools_ffmpeg.h:558</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491af84e9004e64a37d83ea779e70b74b834"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491af84e9004e64a37d83ea779e70b74b834">ENC_STATS_TIMEBASE_IN</a></div><div class="ttdeci">@ ENC_STATS_TIMEBASE_IN</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00555">fftools_ffmpeg.h:555</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491afd9222e328394ff11e2e3bf13f28c675"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491afd9222e328394ff11e2e3bf13f28c675">ENC_STATS_PTS_TIME_IN</a></div><div class="ttdeci">@ ENC_STATS_PTS_TIME_IN</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00559">fftools_ffmpeg.h:559</a></div></div>
<div class="ttc" id="afftools__ffmpeg_8h_html_af9f682bb68fbfe6e68615cedc526f491afdf86d5403425c849d15a6afc4bc7cf6"><div class="ttname"><a href="../../d7/db3/fftools__ffmpeg_8h.html#af9f682bb68fbfe6e68615cedc526f491afdf86d5403425c849d15a6afc4bc7cf6">ENC_STATS_NB_SAMPLES</a></div><div class="ttdeci">@ ENC_STATS_NB_SAMPLES</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00563">fftools_ffmpeg.h:563</a></div></div>
<div class="ttc" id="afftools__ffmpeg__filter_8c_html_a61569f2965b7a369eb10b6d75d410d11"><div class="ttname"><a href="../../d2/d36/fftools__ffmpeg__filter_8c.html#a61569f2965b7a369eb10b6d75d410d11">int</a></div><div class="ttdeci">int</div><div class="ttdef"><b>Definition</b> <a href="../../d2/d36/fftools__ffmpeg__filter_8c_source.html#l00180">fftools_ffmpeg_filter.c:180</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux_8c_html_ab2d70d28711fd0ab3e019e2d1eafd938"><div class="ttname"><a href="../../d5/d94/fftools__ffmpeg__mux_8c.html#ab2d70d28711fd0ab3e019e2d1eafd938">mux_check_init</a></div><div class="ttdeci">int mux_check_init(Muxer *mux)</div><div class="ttdef"><b>Definition</b> <a href="../../d5/d94/fftools__ffmpeg__mux_8c_source.html#l00536">fftools_ffmpeg_mux.c:536</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux_8h_html"><div class="ttname"><a href="../../df/d2b/fftools__ffmpeg__mux_8h.html">fftools_ffmpeg_mux.h</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux_8h_html_a4cc472c69041f4fae418334430ccb829"><div class="ttname"><a href="../../df/d2b/fftools__ffmpeg__mux_8h.html#a4cc472c69041f4fae418334430ccb829">MATCH_PER_TYPE_OPT</a></div><div class="ttdeci">#define MATCH_PER_TYPE_OPT(name, type, outvar, fmtctx, mediatype)</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00090">fftools_ffmpeg_mux.h:90</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux_8h_html_acb83c221072b82ac43e6ebe61787072c"><div class="ttname"><a href="../../df/d2b/fftools__ffmpeg__mux_8h.html#acb83c221072b82ac43e6ebe61787072c">MATCH_PER_STREAM_OPT</a></div><div class="ttdeci">#define MATCH_PER_STREAM_OPT(name, type, outvar, fmtctx, st)</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00073">fftools_ffmpeg_mux.h:73</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a0052cf48462a3b3af1ba77fc84a3bb45"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a0052cf48462a3b3af1ba77fc84a3bb45">get_preset_file_2</a></div><div class="ttdeci">static int get_preset_file_2(const char *preset_name, const char *codec_name, AVIOContext **s)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00168">fftools_ffmpeg_mux_init.c:168</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a0116f637ab1a81dd3079aaba28d280eb"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a0116f637ab1a81dd3079aaba28d280eb">SET_DICT</a></div><div class="ttdeci">#define SET_DICT(type, meta, context, index)</div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a0142101b583a6d8d1e00a043cd6ece42"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a0142101b583a6d8d1e00a043cd6ece42">create_streams</a></div><div class="ttdeci">static void create_streams(Muxer *mux, const OptionsContext *o)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01415">fftools_ffmpeg_mux_init.c:1415</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a02e251fca80f93e4d5a3e9c27fca6be8"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a02e251fca80f93e4d5a3e9c27fca6be8">opt_name_frame_aspect_ratios</a></div><div class="ttdeci">static const char *const opt_name_frame_aspect_ratios[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00087">fftools_ffmpeg_mux_init.c:87</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a065c1d7227bc63b18b4324ad376568dd"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a065c1d7227bc63b18b4324ad376568dd">opt_name_max_frames</a></div><div class="ttdeci">static const char *const opt_name_max_frames[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00092">fftools_ffmpeg_mux_init.c:92</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a071566f5d650660c1121c4a9ecffeaad"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a071566f5d650660c1121c4a9ecffeaad">opt_name_audio_channels</a></div><div class="ttdeci">static const char *const opt_name_audio_channels[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00101">fftools_ffmpeg_mux_init.c:101</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a1abc88cf9e325f0110183b521931cde5"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a1abc88cf9e325f0110183b521931cde5">of_add_programs</a></div><div class="ttdeci">static void of_add_programs(Muxer *mux, const OptionsContext *o)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01559">fftools_ffmpeg_mux_init.c:1559</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a1bd977141b064953df829bab225012aa"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a1bd977141b064953df829bab225012aa">opt_name_enc_stats_pre</a></div><div class="ttdeci">static const char *const opt_name_enc_stats_pre[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00075">fftools_ffmpeg_mux_init.c:75</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a1c774d94956c953bc012db3e5985b374"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a1c774d94956c953bc012db3e5985b374">IS_AV_ENC</a></div><div class="ttdeci">#define IS_AV_ENC(ost, type)</div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a1cd18e061e07695c0547d09e3dd4dcce"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a1cd18e061e07695c0547d09e3dd4dcce">forced_keyframes_const_names</a></div><div class="ttdeci">const char *const forced_keyframes_const_names[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l02044">fftools_ffmpeg_mux_init.c:2044</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a2128e22de6ca98604033f166b457fd36"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2128e22de6ca98604033f166b457fd36">output_file_item_name</a></div><div class="ttdeci">static const char * output_file_item_name(void *obj)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l02195">fftools_ffmpeg_mux_init.c:2195</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a2239d6a510d4c7615978f300434f298a"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2239d6a510d4c7615978f300434f298a">copy_meta</a></div><div class="ttdeci">static void copy_meta(Muxer *mux, const OptionsContext *o)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01904">fftools_ffmpeg_mux_init.c:1904</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a27b60fe4155fff0ad90e817ba2c679bf"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a27b60fe4155fff0ad90e817ba2c679bf">opt_name_audio_ch_layouts</a></div><div class="ttdeci">static const char *const opt_name_audio_ch_layouts[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00102">fftools_ffmpeg_mux_init.c:102</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a27d8f87fcd208f33de7b9d016540a40f"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a27d8f87fcd208f33de7b9d016540a40f">of_open</a></div><div class="ttdeci">int of_open(const OptionsContext *o, const char *filename)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l02221">fftools_ffmpeg_mux_init.c:2221</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a2832dc71df723ecf99fe07ceddd284fd"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a2832dc71df723ecf99fe07ceddd284fd">enc_stats_files</a></div><div class="ttdeci">__thread EncStatsFile * enc_stats_files</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00198">fftools_ffmpeg_mux_init.c:198</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a290d82d6941e8243459bc374ef322e81"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a290d82d6941e8243459bc374ef322e81">opt_name_inter_matrices</a></div><div class="ttdeci">static const char *const opt_name_inter_matrices[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00089">fftools_ffmpeg_mux_init.c:89</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a322afb1b7613bc57d3939db06de66225"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a322afb1b7613bc57d3939db06de66225">opt_name_sample_fmts</a></div><div class="ttdeci">static const char *const opt_name_sample_fmts[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00106">fftools_ffmpeg_mux_init.c:106</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a33c5320e3d802461bcb783e9bddd0586"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a33c5320e3d802461bcb783e9bddd0586">opt_name_enc_stats_post</a></div><div class="ttdeci">static const char *const opt_name_enc_stats_post[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00076">fftools_ffmpeg_mux_init.c:76</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a35587cfd54cad4d313e805729850c814"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a35587cfd54cad4d313e805729850c814">opt_name_force_fps</a></div><div class="ttdeci">static const char *const opt_name_force_fps[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00085">fftools_ffmpeg_mux_init.c:85</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a3758af9502257907b0636677392acc67"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3758af9502257907b0636677392acc67">new_data_stream</a></div><div class="ttdeci">static OutputStream * new_data_stream(Muxer *mux, const OptionsContext *o, InputStream *ist)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01058">fftools_ffmpeg_mux_init.c:1058</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a3a72cc131ee4055931b3f0365bb29243"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3a72cc131ee4055931b3f0365bb29243">init_output_filter</a></div><div class="ttdeci">static void init_output_filter(OutputFilter *ofilter, const OptionsContext *o, Muxer *mux)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01113">fftools_ffmpeg_mux_init.c:1113</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a3b4511df39c54f827ca99606a5aa98f6"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3b4511df39c54f827ca99606a5aa98f6">new_audio_stream</a></div><div class="ttdeci">static OutputStream * new_audio_stream(Muxer *mux, const OptionsContext *o, InputStream *ist)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00960">fftools_ffmpeg_mux_init.c:960</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a3b5436584148755e3325b3a8bc5a5e88"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3b5436584148755e3325b3a8bc5a5e88">nb_enc_stats_files</a></div><div class="ttdeci">__thread int nb_enc_stats_files</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00199">fftools_ffmpeg_mux_init.c:199</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a3bb1a02e27b951f57d8927aa3b017f2e"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3bb1a02e27b951f57d8927aa3b017f2e">opt_name_passlogfiles</a></div><div class="ttdeci">static const char *const opt_name_passlogfiles[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00096">fftools_ffmpeg_mux_init.c:96</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a3f6ae3233facfaaad9c9fcfcb5562029"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3f6ae3233facfaaad9c9fcfcb5562029">opt_name_max_muxing_queue_size</a></div><div class="ttdeci">static const char *const opt_name_max_muxing_queue_size[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00093">fftools_ffmpeg_mux_init.c:93</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a3f6f1e6b86126fc0af7892dd60d4b011"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a3f6f1e6b86126fc0af7892dd60d4b011">copy_chapters</a></div><div class="ttdeci">static int copy_chapters(InputFile *ifile, OutputFile *ofile, AVFormatContext *os, int copy_metadata)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01777">fftools_ffmpeg_mux_init.c:1777</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a42d773646d7ab8e14550442e81e00bc1"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a42d773646d7ab8e14550442e81e00bc1">parse_forced_key_frames</a></div><div class="ttdeci">static void parse_forced_key_frames(KeyframeForceCtx *kf, const Muxer *mux, const char *spec)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l02058">fftools_ffmpeg_mux_init.c:2058</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a44d8dc72efc9d1c7433964650d7b4365"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a44d8dc72efc9d1c7433964650d7b4365">opt_name_muxing_queue_data_threshold</a></div><div class="ttdeci">static const char *const opt_name_muxing_queue_data_threshold[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00094">fftools_ffmpeg_mux_init.c:94</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a4563efb367e0659a32b5b0ad0ac4578d"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a4563efb367e0659a32b5b0ad0ac4578d">opt_name_apad</a></div><div class="ttdeci">static const char *const opt_name_apad[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00067">fftools_ffmpeg_mux_init.c:67</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a484aa69c151bca853b0f4db4001d8457"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a484aa69c151bca853b0f4db4001d8457">opt_name_copy_prior_start</a></div><div class="ttdeci">static const char *const opt_name_copy_prior_start[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00072">fftools_ffmpeg_mux_init.c:72</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a48bdfb5ae8b9299b1f5c2b453ae973bc"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a48bdfb5ae8b9299b1f5c2b453ae973bc">output_stream_class</a></div><div class="ttdeci">static const AVClass output_stream_class</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00411">fftools_ffmpeg_mux_init.c:411</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a4929557da5993e7e352caa7b2b969569"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a4929557da5993e7e352caa7b2b969569">opt_name_presets</a></div><div class="ttdeci">static const char *const opt_name_presets[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00097">fftools_ffmpeg_mux_init.c:97</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a4dd32a1942a804edb22f2e016406db41"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a4dd32a1942a804edb22f2e016406db41">DEFAULT_PASS_LOGFILENAME_PREFIX</a></div><div class="ttdeci">#define DEFAULT_PASS_LOGFILENAME_PREFIX</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00065">fftools_ffmpeg_mux_init.c:65</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a4fc06433569e921747604ffe642b65ff"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a4fc06433569e921747604ffe642b65ff">new_video_stream</a></div><div class="ttdeci">static OutputStream * new_video_stream(Muxer *mux, const OptionsContext *o, InputStream *ist)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00720">fftools_ffmpeg_mux_init.c:720</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a55b73904843c6c623ce52acba119705c"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a55b73904843c6c623ce52acba119705c">opt_name_max_frame_rates</a></div><div class="ttdeci">static const char *const opt_name_max_frame_rates[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00091">fftools_ffmpeg_mux_init.c:91</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a575c337ad712a45fd6f03eccb9698e4a"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a575c337ad712a45fd6f03eccb9698e4a">output_stream_item_name</a></div><div class="ttdeci">static const char * output_stream_item_name(void *obj)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00404">fftools_ffmpeg_mux_init.c:404</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a66195519cb9d9bf1d6d77b18519c5cdd"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a66195519cb9d9bf1d6d77b18519c5cdd">unescape</a></div><div class="ttdeci">static int unescape(char **pdst, size_t *dst_len, const char **pstr, char delim)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00242">fftools_ffmpeg_mux_init.c:242</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a69b0f920b4d91360bd5cd5da5842e282"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a69b0f920b4d91360bd5cd5da5842e282">compare_int64</a></div><div class="ttdeci">static int compare_int64(const void *a, const void *b)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l02053">fftools_ffmpeg_mux_init.c:2053</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a6b1b89ce12b5affb6db48eff2e6d36d3"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a6b1b89ce12b5affb6db48eff2e6d36d3">enc_stats_init</a></div><div class="ttdeci">static int enc_stats_init(OutputStream *ost, EncStats *es, int pre, const char *path, const char *fmt_spec)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00281">fftools_ffmpeg_mux_init.c:281</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a70f992780606e51c44a27c9b9bdafa1c"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a70f992780606e51c44a27c9b9bdafa1c">of_add_attachments</a></div><div class="ttdeci">static void of_add_attachments(Muxer *mux, const OptionsContext *o)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01374">fftools_ffmpeg_mux_init.c:1374</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a77c3b5c45780ef300e59d94bddc7a8f9"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a77c3b5c45780ef300e59d94bddc7a8f9">new_unknown_stream</a></div><div class="ttdeci">static OutputStream * new_unknown_stream(Muxer *mux, const OptionsContext *o, InputStream *ist)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01071">fftools_ffmpeg_mux_init.c:1071</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a77c723e24786acc43ee9c9a2d37af890"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a77c723e24786acc43ee9c9a2d37af890">map_manual</a></div><div class="ttdeci">static void map_manual(Muxer *mux, const OptionsContext *o, const StreamMap *map)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01303">fftools_ffmpeg_mux_init.c:1303</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a7a6df486e1830c3e4fb4e4d85105bfc1"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a7a6df486e1830c3e4fb4e4d85105bfc1">enc_stats_get_file</a></div><div class="ttdeci">static int enc_stats_get_file(AVIOContext **io, const char *path)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00201">fftools_ffmpeg_mux_init.c:201</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a7b595315a56124cd3c1e0c8f8c23efba"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a7b595315a56124cd3c1e0c8f8c23efba">IS_INTERLEAVED</a></div><div class="ttdeci">#define IS_INTERLEAVED(type)</div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a7dbb7cc7c7d0f45bbb80b2e494b0bbff"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a7dbb7cc7c7d0f45bbb80b2e494b0bbff">opt_name_rc_overrides</a></div><div class="ttdeci">static const char *const opt_name_rc_overrides[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00099">fftools_ffmpeg_mux_init.c:99</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a7dc51392d39a130d795ab6259f8e5146"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a7dc51392d39a130d795ab6259f8e5146">opt_name_forced_key_frames</a></div><div class="ttdeci">static const char *const opt_name_forced_key_frames[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00086">fftools_ffmpeg_mux_init.c:86</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a8213a5f67f3b7e411fafc95d38ad0ea7"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8213a5f67f3b7e411fafc95d38ad0ea7">opt_name_time_bases</a></div><div class="ttdeci">static const char *const opt_name_time_bases[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00100">fftools_ffmpeg_mux_init.c:100</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a86b98d556f5e524736ff8a80c61db2dc"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a86b98d556f5e524736ff8a80c61db2dc">opt_name_enc_stats_post_fmt</a></div><div class="ttdeci">static const char *const opt_name_enc_stats_post_fmt[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00079">fftools_ffmpeg_mux_init.c:79</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a86f38ed6c04b24cdcd998881f6d45563"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a86f38ed6c04b24cdcd998881f6d45563">opt_name_frame_sizes</a></div><div class="ttdeci">static const char *const opt_name_frame_sizes[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00104">fftools_ffmpeg_mux_init.c:104</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a8859d3046e157114b243d0ad71e4a691"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8859d3046e157114b243d0ad71e4a691">process_forced_keyframes</a></div><div class="ttdeci">static int process_forced_keyframes(Muxer *mux, const OptionsContext *o)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l02112">fftools_ffmpeg_mux_init.c:2112</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a88a0a2a6fdf606bc1d5268938a2e6cae"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a88a0a2a6fdf606bc1d5268938a2e6cae">setup_sync_queues</a></div><div class="ttdeci">static int setup_sync_queues(Muxer *mux, AVFormatContext *oc, int64_t buf_size_us)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01465">fftools_ffmpeg_mux_init.c:1465</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a8a7b7a8fd4c39cfd95d0577ba6516f80"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8a7b7a8fd4c39cfd95d0577ba6516f80">opt_name_audio_sample_rate</a></div><div class="ttdeci">static const char *const opt_name_audio_sample_rate[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00103">fftools_ffmpeg_mux_init.c:103</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a8b091b215b238689a8d82c47cf55045a"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8b091b215b238689a8d82c47cf55045a">validate_enc_avopt</a></div><div class="ttdeci">static void validate_enc_avopt(Muxer *mux, const AVDictionary *codec_avopt)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l02151">fftools_ffmpeg_mux_init.c:2151</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a8bfb1b7f89c66c61f6404cde006a1281"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8bfb1b7f89c66c61f6404cde006a1281">of_enc_stats_close</a></div><div class="ttdeci">void of_enc_stats_close(void)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00232">fftools_ffmpeg_mux_init.c:232</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a8d9d6b274d5ebbf27d245081b2d68aea"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8d9d6b274d5ebbf27d245081b2d68aea">opt_name_filter_scripts</a></div><div class="ttdeci">static const char *const opt_name_filter_scripts[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00082">fftools_ffmpeg_mux_init.c:82</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a8fd5c9176713d0cb38ce640568056ad3"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a8fd5c9176713d0cb38ce640568056ad3">map_auto_video</a></div><div class="ttdeci">static void map_auto_video(Muxer *mux, const OptionsContext *o)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01154">fftools_ffmpeg_mux_init.c:1154</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a923d5e1d86ce330625dd7d55d4e0b7cd"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a923d5e1d86ce330625dd7d55d4e0b7cd">opt_name_enc_time_bases</a></div><div class="ttdeci">static const char *const opt_name_enc_time_bases[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00074">fftools_ffmpeg_mux_init.c:74</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a93d56370d8494511e22c1cc4a8194caf"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a93d56370d8494511e22c1cc4a8194caf">mux_stream_alloc</a></div><div class="ttdeci">static MuxStream * mux_stream_alloc(Muxer *mux, enum AVMediaType type)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00418">fftools_ffmpeg_mux_init.c:418</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a98cf71315f3d23600d7b8fdec5aa9198"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a98cf71315f3d23600d7b8fdec5aa9198">set_channel_layout</a></div><div class="ttdeci">static void set_channel_layout(OutputFilter *f, OutputStream *ost)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01739">fftools_ffmpeg_mux_init.c:1739</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a9a8058420e622ff759c7e2a6b69a834b"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9a8058420e622ff759c7e2a6b69a834b">get_line</a></div><div class="ttdeci">static char * get_line(AVIOContext *s, AVBPrint *bprint)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00156">fftools_ffmpeg_mux_init.c:156</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a9a9fcec0683225b551dc440fe87bc234"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9a9fcec0683225b551dc440fe87bc234">new_attachment_stream</a></div><div class="ttdeci">static OutputStream * new_attachment_stream(Muxer *mux, const OptionsContext *o, InputStream *ist)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01084">fftools_ffmpeg_mux_init.c:1084</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a9bb5ce9ad69a90978e915bb50ea0de1c"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9bb5ce9ad69a90978e915bb50ea0de1c">mux_alloc</a></div><div class="ttdeci">static Muxer * mux_alloc(void)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l02209">fftools_ffmpeg_mux_init.c:2209</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a9c3b3ecdf831542f89b5e378f983d651"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9c3b3ecdf831542f89b5e378f983d651">choose_encoder</a></div><div class="ttdeci">static int choose_encoder(const OptionsContext *o, AVFormatContext *s, OutputStream *ost, const AVCodec **enc)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00126">fftools_ffmpeg_mux_init.c:126</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a9d42eeec6f1648a7ed4b931c21d054d1"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9d42eeec6f1648a7ed4b931c21d054d1">map_auto_audio</a></div><div class="ttdeci">static void map_auto_audio(Muxer *mux, const OptionsContext *o)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01205">fftools_ffmpeg_mux_init.c:1205</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_a9f86317b8a965ea087d82b8116fcc6e5"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#a9f86317b8a965ea087d82b8116fcc6e5">opt_name_fix_sub_duration_heartbeat</a></div><div class="ttdeci">static const char *const opt_name_fix_sub_duration_heartbeat[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00083">fftools_ffmpeg_mux_init.c:83</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_aa19e3da070adc5abfe32fe9b5713455e"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aa19e3da070adc5abfe32fe9b5713455e">parse_matrix_coeffs</a></div><div class="ttdeci">static void parse_matrix_coeffs(void *logctx, uint16_t *dest, const char *str)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00702">fftools_ffmpeg_mux_init.c:702</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_aa28a00da6512e802387b7ab0a2915d85"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aa28a00da6512e802387b7ab0a2915d85">set_dispositions</a></div><div class="ttdeci">static int set_dispositions(Muxer *mux, const OptionsContext *o)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01974">fftools_ffmpeg_mux_init.c:1974</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_aab1d482498653dcda375b3f0a6145d7e"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aab1d482498653dcda375b3f0a6145d7e">parse_meta_type</a></div><div class="ttdeci">static void parse_meta_type(void *logctx, const char *arg, char *type, int *index, const char **stream_spec)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01638">fftools_ffmpeg_mux_init.c:1638</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_aabb332df066d5da80bb857df67a38e9b"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aabb332df066d5da80bb857df67a38e9b">output_file_class</a></div><div class="ttdeci">static const AVClass output_file_class</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l02202">fftools_ffmpeg_mux_init.c:2202</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_ab213fed0c837f2c0a168eab0158ec7ba"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ab213fed0c837f2c0a168eab0158ec7ba">copy_metadata</a></div><div class="ttdeci">static int copy_metadata(Muxer *mux, AVFormatContext *ic, const char *outspec, const char *inspec, int *metadata_global_manual, int *metadata_streams_manual, int *metadata_chapters_manual, const OptionsContext *o)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01820">fftools_ffmpeg_mux_init.c:1820</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_abefc57cd354cac11511160a2b831da2f"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#abefc57cd354cac11511160a2b831da2f">check_opt_bitexact</a></div><div class="ttdeci">static int check_opt_bitexact(void *ctx, const AVDictionary *opts, const char *opt_name, int flag)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00110">fftools_ffmpeg_mux_init.c:110</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_ac228692b5caafb601b626e82fb036b00"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ac228692b5caafb601b626e82fb036b00">opt_name_chroma_intra_matrices</a></div><div class="ttdeci">static const char *const opt_name_chroma_intra_matrices[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00090">fftools_ffmpeg_mux_init.c:90</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_ac60615242d760b1373faa97e9ca35da0"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ac60615242d760b1373faa97e9ca35da0">opt_name_filters</a></div><div class="ttdeci">static const char *const opt_name_filters[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00081">fftools_ffmpeg_mux_init.c:81</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_ac7ca319e595fa817051314772b70fe19"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ac7ca319e595fa817051314772b70fe19">opt_name_copy_initial_nonkeyframes</a></div><div class="ttdeci">static const char *const opt_name_copy_initial_nonkeyframes[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00071">fftools_ffmpeg_mux_init.c:71</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_ac8935bd6fded3399aac4503f1cd2b74c"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ac8935bd6fded3399aac4503f1cd2b74c">opt_name_fps_mode</a></div><div class="ttdeci">static const char *const opt_name_fps_mode[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00084">fftools_ffmpeg_mux_init.c:84</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_acb26d364405e283095a6d192d1caeaee"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#acb26d364405e283095a6d192d1caeaee">opt_name_intra_matrices</a></div><div class="ttdeci">static const char *const opt_name_intra_matrices[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00088">fftools_ffmpeg_mux_init.c:88</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_acbbcf4d3fc3ffdf3ab8fb140380e9b3d"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#acbbcf4d3fc3ffdf3ab8fb140380e9b3d">opt_name_bitstream_filters</a></div><div class="ttdeci">static const char *const opt_name_bitstream_filters[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00070">fftools_ffmpeg_mux_init.c:70</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_ad3d97d53da94ca5c2286179d501511a6"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ad3d97d53da94ca5c2286179d501511a6">new_subtitle_stream</a></div><div class="ttdeci">static OutputStream * new_subtitle_stream(Muxer *mux, const OptionsContext *o, InputStream *ist)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01091">fftools_ffmpeg_mux_init.c:1091</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_ad4e5c141bf83207d19eecec3a9341141"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ad4e5c141bf83207d19eecec3a9341141">opt_name_qscale</a></div><div class="ttdeci">static const char *const opt_name_qscale[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00098">fftools_ffmpeg_mux_init.c:98</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_adb543330fc9772059ff2dd3be720263c"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adb543330fc9772059ff2dd3be720263c">opt_name_mux_stats_fmt</a></div><div class="ttdeci">static const char *const opt_name_mux_stats_fmt[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00080">fftools_ffmpeg_mux_init.c:80</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_adbf7f4b1b1d79fe7c8830654ecc55e1b"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adbf7f4b1b1d79fe7c8830654ecc55e1b">check_streamcopy_filters</a></div><div class="ttdeci">static void check_streamcopy_filters(const OptionsContext *o, AVFormatContext *oc, OutputStream *ost, enum AVMediaType type)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00689">fftools_ffmpeg_mux_init.c:689</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_adf4cd9ede29ea5f0f637d4ddb25bfc51"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#adf4cd9ede29ea5f0f637d4ddb25bfc51">new_output_stream</a></div><div class="ttdeci">static OutputStream * new_output_stream(Muxer *mux, const OptionsContext *o, enum AVMediaType type, InputStream *ist)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00435">fftools_ffmpeg_mux_init.c:435</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_ae1d7e15bf63b966dad71bd77a9864f9e"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae1d7e15bf63b966dad71bd77a9864f9e">of_add_metadata</a></div><div class="ttdeci">static void of_add_metadata(OutputFile *of, AVFormatContext *oc, const OptionsContext *o)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01666">fftools_ffmpeg_mux_init.c:1666</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_ae377a2eca138e9ca6f7f70bd7a745c95"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae377a2eca138e9ca6f7f70bd7a745c95">opt_name_autoscale</a></div><div class="ttdeci">static const char *const opt_name_autoscale[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00068">fftools_ffmpeg_mux_init.c:68</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_ae69bc1d8fbc8a3f1598f25478a0a591a"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae69bc1d8fbc8a3f1598f25478a0a591a">map_auto_subtitle</a></div><div class="ttdeci">static void map_auto_subtitle(Muxer *mux, const OptionsContext *o)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01247">fftools_ffmpeg_mux_init.c:1247</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_ae83a6b9dd35a60f10d79371fb8d1c469"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae83a6b9dd35a60f10d79371fb8d1c469">ms_from_ost</a></div><div class="ttdeci">MuxStream * ms_from_ost(OutputStream *ost)</div><div class="ttdef"><b>Definition</b> <a href="../../d5/d94/fftools__ffmpeg__mux_8c_source.html#l00068">fftools_ffmpeg_mux.c:68</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_ae9f2acb7199aa3efc90bd05dd2944be3"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#ae9f2acb7199aa3efc90bd05dd2944be3">opt_name_enc_stats_pre_fmt</a></div><div class="ttdeci">static const char *const opt_name_enc_stats_pre_fmt[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00078">fftools_ffmpeg_mux_init.c:78</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_aeb02e34a2d84cc720ef02cff54096e20"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aeb02e34a2d84cc720ef02cff54096e20">map_auto_data</a></div><div class="ttdeci">static void map_auto_data(Muxer *mux, const OptionsContext *o)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l01285">fftools_ffmpeg_mux_init.c:1285</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_aeb049cfefacefdcb5bf2ee81ba0fe21e"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aeb049cfefacefdcb5bf2ee81ba0fe21e">opt_name_mux_stats</a></div><div class="ttdeci">static const char *const opt_name_mux_stats[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00077">fftools_ffmpeg_mux_init.c:77</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_aec516ffec0e2ccd98735fd021f6fcdd3"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aec516ffec0e2ccd98735fd021f6fcdd3">opt_name_bits_per_raw_sample</a></div><div class="ttdeci">static const char *const opt_name_bits_per_raw_sample[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00069">fftools_ffmpeg_mux_init.c:69</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_aedf58dd37d56e26a71b477ac1c89fceb"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#aedf58dd37d56e26a71b477ac1c89fceb">opt_name_disposition</a></div><div class="ttdeci">static const char *const opt_name_disposition[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00073">fftools_ffmpeg_mux_init.c:73</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_af21bd449156e9d7858ed31ffb7b68fe7"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#af21bd449156e9d7858ed31ffb7b68fe7">get_ost_filters</a></div><div class="ttdeci">static char * get_ost_filters(const OptionsContext *o, AVFormatContext *oc, OutputStream *ost)</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00670">fftools_ffmpeg_mux_init.c:670</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_af4c1703b4956f5e062204d5c36b1721f"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#af4c1703b4956f5e062204d5c36b1721f">opt_name_frame_pix_fmts</a></div><div class="ttdeci">static const char *const opt_name_frame_pix_fmts[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00105">fftools_ffmpeg_mux_init.c:105</a></div></div>
<div class="ttc" id="afftools__ffmpeg__mux__init_8c_html_af982effd9489a2439594fba709c01cf4"><div class="ttname"><a href="../../d8/d59/fftools__ffmpeg__mux__init_8c.html#af982effd9489a2439594fba709c01cf4">opt_name_pass</a></div><div class="ttdeci">static const char *const opt_name_pass[]</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d59/fftools__ffmpeg__mux__init_8c_source.html#l00095">fftools_ffmpeg_mux_init.c:95</a></div></div>
<div class="ttc" id="afftools__ffprobe_8c_html_abad15c2aaf9c54ccddd8d8abf6bed069"><div class="ttname"><a href="../../d8/d78/fftools__ffprobe_8c.html#abad15c2aaf9c54ccddd8d8abf6bed069">nb_streams</a></div><div class="ttdeci">__thread int nb_streams</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d78/fftools__ffprobe_8c_source.html#l00336">fftools_ffprobe.c:336</a></div></div>
<div class="ttc" id="afftools__fopen__utf8_8h_html"><div class="ttname"><a href="../../d1/d9f/fftools__fopen__utf8_8h.html">fftools_fopen_utf8.h</a></div></div>
<div class="ttc" id="afftools__fopen__utf8_8h_html_a3eed39c4bd5135d3629a46f9f2c65b4b"><div class="ttname"><a href="../../d1/d9f/fftools__fopen__utf8_8h.html#a3eed39c4bd5135d3629a46f9f2c65b4b">fopen_utf8</a></div><div class="ttdeci">static FILE * fopen_utf8(const char *path, const char *mode)</div><div class="ttdef"><b>Definition</b> <a href="../../d1/d9f/fftools__fopen__utf8_8h_source.html#l00073">fftools_fopen_utf8.h:73</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_a3ebd18ffff189c6c8e0a3b0f857d8d74"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#a3ebd18ffff189c6c8e0a3b0f857d8d74">sq_alloc</a></div><div class="ttdeci">SyncQueue * sq_alloc(enum SyncQueueType type, int64_t buf_size_us)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00419">fftools_sync_queue.c:419</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_a94edf016e07e0f259e4b515d1f8fea57"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#a94edf016e07e0f259e4b515d1f8fea57">sq_limit_frames</a></div><div class="ttdeci">void sq_limit_frames(SyncQueue *sq, unsigned int stream_idx, uint64_t frames)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00407">fftools_sync_queue.c:407</a></div></div>
<div class="ttc" id="afftools__sync__queue_8c_html_ae3e36c041fbe68938e84e9b59d7d7c46"><div class="ttname"><a href="../../df/dbb/fftools__sync__queue_8c.html#ae3e36c041fbe68938e84e9b59d7d7c46">sq_add_stream</a></div><div class="ttdeci">int sq_add_stream(SyncQueue *sq, int limiting)</div><div class="ttdef"><b>Definition</b> <a href="../../df/dbb/fftools__sync__queue_8c_source.html#l00365">fftools_sync_queue.c:365</a></div></div>
<div class="ttc" id="afftools__sync__queue_8h_html_a8ecdcf04d361bd531cc8d36a3b6213b3a3c277ad101e0d5ba2749c5b6df5c22f5"><div class="ttname"><a href="../../d6/d35/fftools__sync__queue_8h.html#a8ecdcf04d361bd531cc8d36a3b6213b3a3c277ad101e0d5ba2749c5b6df5c22f5">SYNC_QUEUE_FRAMES</a></div><div class="ttdeci">@ SYNC_QUEUE_FRAMES</div><div class="ttdef"><b>Definition</b> <a href="../../d6/d35/fftools__sync__queue_8h_source.html#l00043">fftools_sync_queue.h:43</a></div></div>
<div class="ttc" id="afftools__sync__queue_8h_html_a8ecdcf04d361bd531cc8d36a3b6213b3a69345b74224b95dc2ec281949375055d"><div class="ttname"><a href="../../d6/d35/fftools__sync__queue_8h.html#a8ecdcf04d361bd531cc8d36a3b6213b3a69345b74224b95dc2ec281949375055d">SYNC_QUEUE_PACKETS</a></div><div class="ttdeci">@ SYNC_QUEUE_PACKETS</div><div class="ttdef"><b>Definition</b> <a href="../../d6/d35/fftools__sync__queue_8h_source.html#l00042">fftools_sync_queue.h:42</a></div></div>
<div class="ttc" id="astruct_audio_channel_map_html"><div class="ttname"><a href="../../d6/d2c/struct_audio_channel_map.html">AudioChannelMap</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00139">fftools_ffmpeg.h:139</a></div></div>
<div class="ttc" id="astruct_audio_channel_map_html_a32f90014a8e83a47c8ef3893bc1c100e"><div class="ttname"><a href="../../d6/d2c/struct_audio_channel_map.html#a32f90014a8e83a47c8ef3893bc1c100e">AudioChannelMap::stream_idx</a></div><div class="ttdeci">int stream_idx</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00140">fftools_ffmpeg.h:140</a></div></div>
<div class="ttc" id="astruct_audio_channel_map_html_a3e51062d85dde52c40982e5af3b4bc03"><div class="ttname"><a href="../../d6/d2c/struct_audio_channel_map.html#a3e51062d85dde52c40982e5af3b4bc03">AudioChannelMap::ostream_idx</a></div><div class="ttdeci">int ostream_idx</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00141">fftools_ffmpeg.h:141</a></div></div>
<div class="ttc" id="astruct_audio_channel_map_html_a8174d989c9c3c6bacd2ff229900e3edf"><div class="ttname"><a href="../../d6/d2c/struct_audio_channel_map.html#a8174d989c9c3c6bacd2ff229900e3edf">AudioChannelMap::ofile_idx</a></div><div class="ttdeci">int ofile_idx</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00141">fftools_ffmpeg.h:141</a></div></div>
<div class="ttc" id="astruct_audio_channel_map_html_a81b4cfad9b7f201c8a0be6a030688839"><div class="ttname"><a href="../../d6/d2c/struct_audio_channel_map.html#a81b4cfad9b7f201c8a0be6a030688839">AudioChannelMap::file_idx</a></div><div class="ttdeci">int file_idx</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00140">fftools_ffmpeg.h:140</a></div></div>
<div class="ttc" id="astruct_audio_channel_map_html_a8f4845075e76274d0c577c258b24d0bf"><div class="ttname"><a href="../../d6/d2c/struct_audio_channel_map.html#a8f4845075e76274d0c577c258b24d0bf">AudioChannelMap::channel_idx</a></div><div class="ttdeci">int channel_idx</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00140">fftools_ffmpeg.h:140</a></div></div>
<div class="ttc" id="astruct_enc_stats_component_html"><div class="ttname"><a href="../../dd/d0c/struct_enc_stats_component.html">EncStatsComponent</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00569">fftools_ffmpeg.h:569</a></div></div>
<div class="ttc" id="astruct_enc_stats_component_html_a9a028c1b850d321a8f2644d8aa8f28ea"><div class="ttname"><a href="../../dd/d0c/struct_enc_stats_component.html#a9a028c1b850d321a8f2644d8aa8f28ea">EncStatsComponent::type</a></div><div class="ttdeci">enum EncStatsType type</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00570">fftools_ffmpeg.h:570</a></div></div>
<div class="ttc" id="astruct_enc_stats_component_html_aac3a79a71385be5f77099e974c1b1a5f"><div class="ttname"><a href="../../dd/d0c/struct_enc_stats_component.html#aac3a79a71385be5f77099e974c1b1a5f">EncStatsComponent::str</a></div><div class="ttdeci">uint8_t * str</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00572">fftools_ffmpeg.h:572</a></div></div>
<div class="ttc" id="astruct_enc_stats_component_html_aba88c80fb820b93d9aba4500eef4ff9c"><div class="ttname"><a href="../../dd/d0c/struct_enc_stats_component.html#aba88c80fb820b93d9aba4500eef4ff9c">EncStatsComponent::str_len</a></div><div class="ttdeci">size_t str_len</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00573">fftools_ffmpeg.h:573</a></div></div>
<div class="ttc" id="astruct_enc_stats_file_html"><div class="ttname"><a href="../../da/d56/struct_enc_stats_file.html">EncStatsFile</a></div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00155">fftools_ffmpeg_mux.h:155</a></div></div>
<div class="ttc" id="astruct_enc_stats_file_html_a3c1ac5af7c22c45c0155d1b81c869fb9"><div class="ttname"><a href="../../da/d56/struct_enc_stats_file.html#a3c1ac5af7c22c45c0155d1b81c869fb9">EncStatsFile::io</a></div><div class="ttdeci">AVIOContext * io</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00157">fftools_ffmpeg_mux.h:157</a></div></div>
<div class="ttc" id="astruct_enc_stats_file_html_a85b8dfec2eb99b2cd1d0214d1f8f8fa2"><div class="ttname"><a href="../../da/d56/struct_enc_stats_file.html#a85b8dfec2eb99b2cd1d0214d1f8f8fa2">EncStatsFile::path</a></div><div class="ttdeci">char * path</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00156">fftools_ffmpeg_mux.h:156</a></div></div>
<div class="ttc" id="astruct_enc_stats_html"><div class="ttname"><a href="../../db/dbb/struct_enc_stats.html">EncStats</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00576">fftools_ffmpeg.h:576</a></div></div>
<div class="ttc" id="astruct_enc_stats_html_a370b425c612e758991a6e03e4457b728"><div class="ttname"><a href="../../db/dbb/struct_enc_stats.html#a370b425c612e758991a6e03e4457b728">EncStats::nb_components</a></div><div class="ttdeci">int nb_components</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00578">fftools_ffmpeg.h:578</a></div></div>
<div class="ttc" id="astruct_enc_stats_html_a50bb75907b3d604c4171e2c13bca8dea"><div class="ttname"><a href="../../db/dbb/struct_enc_stats.html#a50bb75907b3d604c4171e2c13bca8dea">EncStats::io</a></div><div class="ttdeci">AVIOContext * io</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00580">fftools_ffmpeg.h:580</a></div></div>
<div class="ttc" id="astruct_enc_stats_html_a6ac9fd4a7b66132f4ec99cfa26d1541b"><div class="ttname"><a href="../../db/dbb/struct_enc_stats.html#a6ac9fd4a7b66132f4ec99cfa26d1541b">EncStats::components</a></div><div class="ttdeci">EncStatsComponent * components</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00577">fftools_ffmpeg.h:577</a></div></div>
<div class="ttc" id="astruct_filter_graph_html"><div class="ttname"><a href="../../d9/de7/struct_filter_graph.html">FilterGraph</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00368">fftools_ffmpeg.h:368</a></div></div>
<div class="ttc" id="astruct_filter_graph_html_a92c7f6faf7e95b259bce1c717d43b4ee"><div class="ttname"><a href="../../d9/de7/struct_filter_graph.html#a92c7f6faf7e95b259bce1c717d43b4ee">FilterGraph::nb_outputs</a></div><div class="ttdeci">int nb_outputs</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00381">fftools_ffmpeg.h:381</a></div></div>
<div class="ttc" id="astruct_filter_graph_html_aa078de74cae0940747ba826567b74aef"><div class="ttname"><a href="../../d9/de7/struct_filter_graph.html#aa078de74cae0940747ba826567b74aef">FilterGraph::outputs</a></div><div class="ttdeci">OutputFilter ** outputs</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00380">fftools_ffmpeg.h:380</a></div></div>
<div class="ttc" id="astruct_input_file_html"><div class="ttname"><a href="../../d8/d99/struct_input_file.html">InputFile</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00499">fftools_ffmpeg.h:499</a></div></div>
<div class="ttc" id="astruct_input_file_html_a098fa89f90be39e95d5e42041e8cebfb"><div class="ttname"><a href="../../d8/d99/struct_input_file.html#a098fa89f90be39e95d5e42041e8cebfb">InputFile::ts_offset</a></div><div class="ttdeci">int64_t ts_offset</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00511">fftools_ffmpeg.h:511</a></div></div>
<div class="ttc" id="astruct_input_file_html_a4062ac530db413964aa76090995b85cd"><div class="ttname"><a href="../../d8/d99/struct_input_file.html#a4062ac530db413964aa76090995b85cd">InputFile::ctx</a></div><div class="ttdeci">AVFormatContext * ctx</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00502">fftools_ffmpeg.h:502</a></div></div>
<div class="ttc" id="astruct_input_file_html_a4ffe49e7403ae36ac4bdff5a7a0a3486"><div class="ttname"><a href="../../d8/d99/struct_input_file.html#a4ffe49e7403ae36ac4bdff5a7a0a3486">InputFile::input_ts_offset</a></div><div class="ttdeci">int64_t input_ts_offset</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00505">fftools_ffmpeg.h:505</a></div></div>
<div class="ttc" id="astruct_input_file_html_ab8ce457504c91dd3d16db8fe281553ae"><div class="ttname"><a href="../../d8/d99/struct_input_file.html#ab8ce457504c91dd3d16db8fe281553ae">InputFile::streams</a></div><div class="ttdeci">InputStream ** streams</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00523">fftools_ffmpeg.h:523</a></div></div>
<div class="ttc" id="astruct_input_file_html_afee3292b7b58207fe6fd91c8127fac19"><div class="ttname"><a href="../../d8/d99/struct_input_file.html#afee3292b7b58207fe6fd91c8127fac19">InputFile::nb_streams</a></div><div class="ttdeci">int nb_streams</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00524">fftools_ffmpeg.h:524</a></div></div>
<div class="ttc" id="astruct_input_stream_html"><div class="ttname"><a href="../../d3/d6e/struct_input_stream.html">InputStream</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00384">fftools_ffmpeg.h:384</a></div></div>
<div class="ttc" id="astruct_input_stream_html_a3df48bcac32b134bb20d3943759ac2fb"><div class="ttname"><a href="../../d3/d6e/struct_input_stream.html#a3df48bcac32b134bb20d3943759ac2fb">InputStream::want_frame_data</a></div><div class="ttdeci">int want_frame_data</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00394">fftools_ffmpeg.h:394</a></div></div>
<div class="ttc" id="astruct_input_stream_html_a6c98acd7bffcebe0d9e13f9d845845e7"><div class="ttname"><a href="../../d3/d6e/struct_input_stream.html#a6c98acd7bffcebe0d9e13f9d845845e7">InputStream::processing_needed</a></div><div class="ttdeci">int processing_needed</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00392">fftools_ffmpeg.h:392</a></div></div>
<div class="ttc" id="astruct_input_stream_html_a86b730f87f0f8ebd088f94af51d91b96"><div class="ttname"><a href="../../d3/d6e/struct_input_stream.html#a86b730f87f0f8ebd088f94af51d91b96">InputStream::user_set_discard</a></div><div class="ttdeci">int user_set_discard</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00388">fftools_ffmpeg.h:388</a></div></div>
<div class="ttc" id="astruct_input_stream_html_ac39249a26eeec2ed084fcc433ec9825e"><div class="ttname"><a href="../../d3/d6e/struct_input_stream.html#ac39249a26eeec2ed084fcc433ec9825e">InputStream::discard</a></div><div class="ttdeci">int discard</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00387">fftools_ffmpeg.h:387</a></div></div>
<div class="ttc" id="astruct_input_stream_html_ac9fc51324b931c1db5c5c1445fe70c3b"><div class="ttname"><a href="../../d3/d6e/struct_input_stream.html#ac9fc51324b931c1db5c5c1445fe70c3b">InputStream::decoding_needed</a></div><div class="ttdeci">int decoding_needed</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00389">fftools_ffmpeg.h:389</a></div></div>
<div class="ttc" id="astruct_input_stream_html_acf438e2a33238676cb3f68b39ae18049"><div class="ttname"><a href="../../d3/d6e/struct_input_stream.html#acf438e2a33238676cb3f68b39ae18049">InputStream::st</a></div><div class="ttdeci">AVStream * st</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00386">fftools_ffmpeg.h:386</a></div></div>
<div class="ttc" id="astruct_input_stream_html_ad47d834630eee2dca258aa449fb1df47"><div class="ttname"><a href="../../d3/d6e/struct_input_stream.html#ad47d834630eee2dca258aa449fb1df47">InputStream::file_index</a></div><div class="ttdeci">int file_index</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00385">fftools_ffmpeg.h:385</a></div></div>
<div class="ttc" id="astruct_keyframe_force_ctx_html"><div class="ttname"><a href="../../d3/da2/struct_keyframe_force_ctx.html">KeyframeForceCtx</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00595">fftools_ffmpeg.h:595</a></div></div>
<div class="ttc" id="astruct_keyframe_force_ctx_html_a10dc082c5f386bb0656c57ad00c8d5c4"><div class="ttname"><a href="../../d3/da2/struct_keyframe_force_ctx.html#a10dc082c5f386bb0656c57ad00c8d5c4">KeyframeForceCtx::pts</a></div><div class="ttdeci">int64_t * pts</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00601">fftools_ffmpeg.h:601</a></div></div>
<div class="ttc" id="astruct_keyframe_force_ctx_html_a1f880ee515007075c37e454285ea9a83"><div class="ttname"><a href="../../d3/da2/struct_keyframe_force_ctx.html#a1f880ee515007075c37e454285ea9a83">KeyframeForceCtx::ref_pts</a></div><div class="ttdeci">int64_t ref_pts</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00598">fftools_ffmpeg.h:598</a></div></div>
<div class="ttc" id="astruct_keyframe_force_ctx_html_a27d7c4a8b7db90f94076ca6d5be8ad3a"><div class="ttname"><a href="../../d3/da2/struct_keyframe_force_ctx.html#a27d7c4a8b7db90f94076ca6d5be8ad3a">KeyframeForceCtx::expr_const_values</a></div><div class="ttdeci">double expr_const_values[FKF_NB]</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00606">fftools_ffmpeg.h:606</a></div></div>
<div class="ttc" id="astruct_keyframe_force_ctx_html_aaf699d1e164f7faf3df4f2f5e769aa75"><div class="ttname"><a href="../../d3/da2/struct_keyframe_force_ctx.html#aaf699d1e164f7faf3df4f2f5e769aa75">KeyframeForceCtx::pexpr</a></div><div class="ttdeci">AVExpr * pexpr</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00605">fftools_ffmpeg.h:605</a></div></div>
<div class="ttc" id="astruct_keyframe_force_ctx_html_addb12bcf31cc12b09a5f57cad628a41a"><div class="ttname"><a href="../../d3/da2/struct_keyframe_force_ctx.html#addb12bcf31cc12b09a5f57cad628a41a">KeyframeForceCtx::type</a></div><div class="ttdeci">int type</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00596">fftools_ffmpeg.h:596</a></div></div>
<div class="ttc" id="astruct_keyframe_force_ctx_html_adf798befc0a80e66b7f90fd8f17349ea"><div class="ttname"><a href="../../d3/da2/struct_keyframe_force_ctx.html#adf798befc0a80e66b7f90fd8f17349ea">KeyframeForceCtx::nb_pts</a></div><div class="ttdeci">int nb_pts</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00602">fftools_ffmpeg.h:602</a></div></div>
<div class="ttc" id="astruct_mux_stream_html"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html">MuxStream</a></div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00100">fftools_ffmpeg_mux.h:100</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_a02df84cdd7382dceb8e629df3948ecfc"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#a02df84cdd7382dceb8e629df3948ecfc">MuxStream::ost</a></div><div class="ttdeci">OutputStream ost</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00101">fftools_ffmpeg_mux.h:101</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_a107f70f54c356dfee464e48aaf3b3452"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#a107f70f54c356dfee464e48aaf3b3452">MuxStream::log_name</a></div><div class="ttdeci">char log_name[32]</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00104">fftools_ffmpeg_mux.h:104</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_a4cb6af1db9beef3785bb1705cdb52d91"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#a4cb6af1db9beef3785bb1705cdb52d91">MuxStream::bsf_ctx</a></div><div class="ttdeci">AVBSFContext * bsf_ctx</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00109">fftools_ffmpeg_mux.h:109</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_a539d669d8a642c2fed6663c9d8014d94"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#a539d669d8a642c2fed6663c9d8014d94">MuxStream::max_frames</a></div><div class="ttdeci">int64_t max_frames</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00113">fftools_ffmpeg_mux.h:113</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_a54f2e7eeb2dd33a33d0da854310b7422"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#a54f2e7eeb2dd33a33d0da854310b7422">MuxStream::muxing_queue</a></div><div class="ttdeci">AVFifo * muxing_queue</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00107">fftools_ffmpeg_mux.h:107</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_a8cf67909b63d01d0a8797a058515b58f"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#a8cf67909b63d01d0a8797a058515b58f">MuxStream::max_muxing_queue_size</a></div><div class="ttdeci">int max_muxing_queue_size</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00121">fftools_ffmpeg_mux.h:121</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_ad056cc675c397f488ccd4aa417697b29"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#ad056cc675c397f488ccd4aa417697b29">MuxStream::muxing_queue_data_threshold</a></div><div class="ttdeci">size_t muxing_queue_data_threshold</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00124">fftools_ffmpeg_mux.h:124</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_ad87754841671e7fcf501063f067535e7"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#ad87754841671e7fcf501063f067535e7">MuxStream::last_mux_dts</a></div><div class="ttdeci">int64_t last_mux_dts</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00128">fftools_ffmpeg_mux.h:128</a></div></div>
<div class="ttc" id="astruct_mux_stream_html_ae5bcde701f969a60e667a2b0946c4c0d"><div class="ttname"><a href="../../d6/d16/struct_mux_stream.html#ae5bcde701f969a60e667a2b0946c4c0d">MuxStream::stats</a></div><div class="ttdeci">EncStats stats</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00111">fftools_ffmpeg_mux.h:111</a></div></div>
<div class="ttc" id="astruct_muxer_html"><div class="ttname"><a href="../../de/d29/struct_muxer.html">Muxer</a></div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00131">fftools_ffmpeg_mux.h:131</a></div></div>
<div class="ttc" id="astruct_muxer_html_a19f942b28bdb85a1affb699f9af2b834"><div class="ttname"><a href="../../de/d29/struct_muxer.html#a19f942b28bdb85a1affb699f9af2b834">Muxer::opts</a></div><div class="ttdeci">AVDictionary * opts</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00142">fftools_ffmpeg_mux.h:142</a></div></div>
<div class="ttc" id="astruct_muxer_html_a352cad64ec3cd752c01dbfd5ba11c04f"><div class="ttname"><a href="../../de/d29/struct_muxer.html#a352cad64ec3cd752c01dbfd5ba11c04f">Muxer::of</a></div><div class="ttdeci">OutputFile of</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00132">fftools_ffmpeg_mux.h:132</a></div></div>
<div class="ttc" id="astruct_muxer_html_a3fd10b541d8f8e33c97e2ab9cc66f910"><div class="ttname"><a href="../../de/d29/struct_muxer.html#a3fd10b541d8f8e33c97e2ab9cc66f910">Muxer::thread_queue_size</a></div><div class="ttdeci">int thread_queue_size</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00144">fftools_ffmpeg_mux.h:144</a></div></div>
<div class="ttc" id="astruct_muxer_html_a5ad40082372f67f798723f4862e636ea"><div class="ttname"><a href="../../de/d29/struct_muxer.html#a5ad40082372f67f798723f4862e636ea">Muxer::sq_pkt</a></div><div class="ttdeci">AVPacket * sq_pkt</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00152">fftools_ffmpeg_mux.h:152</a></div></div>
<div class="ttc" id="astruct_muxer_html_a73312ab28842f8a39a412d43f59d3c70"><div class="ttname"><a href="../../de/d29/struct_muxer.html#a73312ab28842f8a39a412d43f59d3c70">Muxer::log_name</a></div><div class="ttdeci">char log_name[32]</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00135">fftools_ffmpeg_mux.h:135</a></div></div>
<div class="ttc" id="astruct_muxer_html_aaa259c549cf601c61ed87614ab81d6c0"><div class="ttname"><a href="../../de/d29/struct_muxer.html#aaa259c549cf601c61ed87614ab81d6c0">Muxer::sq_mux</a></div><div class="ttdeci">SyncQueue * sq_mux</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00151">fftools_ffmpeg_mux.h:151</a></div></div>
<div class="ttc" id="astruct_muxer_html_ab542b8fb49305eeb5da3d390fbdb7488"><div class="ttname"><a href="../../de/d29/struct_muxer.html#ab542b8fb49305eeb5da3d390fbdb7488">Muxer::fc</a></div><div class="ttdeci">AVFormatContext * fc</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00137">fftools_ffmpeg_mux.h:137</a></div></div>
<div class="ttc" id="astruct_muxer_html_af393951b0a0abffb231333ef06b0de0e"><div class="ttname"><a href="../../de/d29/struct_muxer.html#af393951b0a0abffb231333ef06b0de0e">Muxer::limit_filesize</a></div><div class="ttdeci">int64_t limit_filesize</div><div class="ttdef"><b>Definition</b> <a href="../../df/d2b/fftools__ffmpeg__mux_8h_source.html#l00147">fftools_ffmpeg_mux.h:147</a></div></div>
<div class="ttc" id="astruct_option_group_html_aad0856a7bcf51e6d5e8b9d007d083910"><div class="ttname"><a href="../../d6/d69/struct_option_group.html#aad0856a7bcf51e6d5e8b9d007d083910">OptionGroup::codec_opts</a></div><div class="ttdeci">AVDictionary * codec_opts</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d4e/fftools__cmdutils_8h_source.html#l00306">fftools_cmdutils.h:306</a></div></div>
<div class="ttc" id="astruct_option_group_html_aad5bf1f2e0e3da5827b689f94e05937d"><div class="ttname"><a href="../../d6/d69/struct_option_group.html#aad5bf1f2e0e3da5827b689f94e05937d">OptionGroup::swr_opts</a></div><div class="ttdeci">AVDictionary * swr_opts</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d4e/fftools__cmdutils_8h_source.html#l00309">fftools_cmdutils.h:309</a></div></div>
<div class="ttc" id="astruct_option_group_html_ad49cc9faed6022da9329fcd220c8467b"><div class="ttname"><a href="../../d6/d69/struct_option_group.html#ad49cc9faed6022da9329fcd220c8467b">OptionGroup::sws_dict</a></div><div class="ttdeci">AVDictionary * sws_dict</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d4e/fftools__cmdutils_8h_source.html#l00308">fftools_cmdutils.h:308</a></div></div>
<div class="ttc" id="astruct_option_group_html_aeac5e8e830df2e99aadfe65a471ce8fb"><div class="ttname"><a href="../../d6/d69/struct_option_group.html#aeac5e8e830df2e99aadfe65a471ce8fb">OptionGroup::format_opts</a></div><div class="ttdeci">AVDictionary * format_opts</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d4e/fftools__cmdutils_8h_source.html#l00307">fftools_cmdutils.h:307</a></div></div>
<div class="ttc" id="astruct_options_context_html"><div class="ttname"><a href="../../df/d77/struct_options_context.html">OptionsContext</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00145">fftools_ffmpeg.h:145</a></div></div>
<div class="ttc" id="astruct_options_context_html_a05f340e8bd1fb8084c1ea6e41b09b4bd"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a05f340e8bd1fb8084c1ea6e41b09b4bd">OptionsContext::metadata_map</a></div><div class="ttdeci">SpecifierOpt * metadata_map</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00260">fftools_ffmpeg.h:260</a></div></div>
<div class="ttc" id="astruct_options_context_html_a07d718f49941fb773665ac6f0657bab8"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a07d718f49941fb773665ac6f0657bab8">OptionsContext::mux_preload</a></div><div class="ttdeci">float mux_preload</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00209">fftools_ffmpeg.h:209</a></div></div>
<div class="ttc" id="astruct_options_context_html_a118cc0b28c0c40281c69827b323e4a78"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a118cc0b28c0c40281c69827b323e4a78">OptionsContext::nb_stream_maps</a></div><div class="ttdeci">int nb_stream_maps</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00196">fftools_ffmpeg.h:196</a></div></div>
<div class="ttc" id="astruct_options_context_html_a1da3f7560a0c9e44cfd8293a5d3d88ab"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a1da3f7560a0c9e44cfd8293a5d3d88ab">OptionsContext::bitexact</a></div><div class="ttdeci">int bitexact</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00213">fftools_ffmpeg.h:213</a></div></div>
<div class="ttc" id="astruct_options_context_html_a279a94fdf145188a7999ec4620fa83d6"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a279a94fdf145188a7999ec4620fa83d6">OptionsContext::start_time</a></div><div class="ttdeci">int64_t start_time</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00149">fftools_ffmpeg.h:149</a></div></div>
<div class="ttc" id="astruct_options_context_html_a295fefa29d7132a93db9110dce6eeab9"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a295fefa29d7132a93db9110dce6eeab9">OptionsContext::format</a></div><div class="ttdeci">const char * format</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00152">fftools_ffmpeg.h:152</a></div></div>
<div class="ttc" id="astruct_options_context_html_a2a21ce6e0d0e8f25a098ac44013ee919"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a2a21ce6e0d0e8f25a098ac44013ee919">OptionsContext::nb_streamid_map</a></div><div class="ttdeci">int nb_streamid_map</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00222">fftools_ffmpeg.h:222</a></div></div>
<div class="ttc" id="astruct_options_context_html_a2e67c5ed2e0cc9b5cd4a5ff9895d7fc1"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a2e67c5ed2e0cc9b5cd4a5ff9895d7fc1">OptionsContext::nb_audio_channel_maps</a></div><div class="ttdeci">int nb_audio_channel_maps</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00199">fftools_ffmpeg.h:199</a></div></div>
<div class="ttc" id="astruct_options_context_html_a34f0a7746fbd5a5848fbdb5fac7ce7af"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a34f0a7746fbd5a5848fbdb5fac7ce7af">OptionsContext::nb_attachments</a></div><div class="ttdeci">int nb_attachments</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00202">fftools_ffmpeg.h:202</a></div></div>
<div class="ttc" id="astruct_options_context_html_a3517181834318f5959bd05e47c4837ea"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a3517181834318f5959bd05e47c4837ea">OptionsContext::max_frames</a></div><div class="ttdeci">SpecifierOpt * max_frames</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00226">fftools_ffmpeg.h:226</a></div></div>
<div class="ttc" id="astruct_options_context_html_a4675becf36ed5d3e6510b3e9c9ac4d77"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a4675becf36ed5d3e6510b3e9c9ac4d77">OptionsContext::stream_maps</a></div><div class="ttdeci">StreamMap * stream_maps</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00195">fftools_ffmpeg.h:195</a></div></div>
<div class="ttc" id="astruct_options_context_html_a53594f37751979e91873fe8282e2e103"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a53594f37751979e91873fe8282e2e103">OptionsContext::nb_max_frames</a></div><div class="ttdeci">int nb_max_frames</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00227">fftools_ffmpeg.h:227</a></div></div>
<div class="ttc" id="astruct_options_context_html_a54dfb761028d4c10ed38c63a29f846ce"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a54dfb761028d4c10ed38c63a29f846ce">OptionsContext::nb_metadata</a></div><div class="ttdeci">int nb_metadata</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00225">fftools_ffmpeg.h:225</a></div></div>
<div class="ttc" id="astruct_options_context_html_a65dd95e326773a3c90feee5d1646910c"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a65dd95e326773a3c90feee5d1646910c">OptionsContext::metadata</a></div><div class="ttdeci">SpecifierOpt * metadata</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00224">fftools_ffmpeg.h:224</a></div></div>
<div class="ttc" id="astruct_options_context_html_a6e38d08faed408a51e45aaf80938d5d6"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a6e38d08faed408a51e45aaf80938d5d6">OptionsContext::recording_time</a></div><div class="ttdeci">int64_t recording_time</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00206">fftools_ffmpeg.h:206</a></div></div>
<div class="ttc" id="astruct_options_context_html_a76aae7426ad256206718ef4c503a882d"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a76aae7426ad256206718ef4c503a882d">OptionsContext::nb_metadata_map</a></div><div class="ttdeci">int nb_metadata_map</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00261">fftools_ffmpeg.h:261</a></div></div>
<div class="ttc" id="astruct_options_context_html_a7ad2b1ced6b2f98d20829334a882d657"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a7ad2b1ced6b2f98d20829334a882d657">OptionsContext::shortest_buf_duration</a></div><div class="ttdeci">float shortest_buf_duration</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00211">fftools_ffmpeg.h:211</a></div></div>
<div class="ttc" id="astruct_options_context_html_a937b3c7359909e3119e2c2e293f6d484"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a937b3c7359909e3119e2c2e293f6d484">OptionsContext::thread_queue_size</a></div><div class="ttdeci">int thread_queue_size</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00177">fftools_ffmpeg.h:177</a></div></div>
<div class="ttc" id="astruct_options_context_html_a98dc9e32a35d8357e85325bf995fc9ac"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a98dc9e32a35d8357e85325bf995fc9ac">OptionsContext::data_disable</a></div><div class="ttdeci">int data_disable</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00218">fftools_ffmpeg.h:218</a></div></div>
<div class="ttc" id="astruct_options_context_html_a9aa6d216666ea426199e6abd0a79d6cb"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a9aa6d216666ea426199e6abd0a79d6cb">OptionsContext::chapters_input_file</a></div><div class="ttdeci">int chapters_input_file</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00204">fftools_ffmpeg.h:204</a></div></div>
<div class="ttc" id="astruct_options_context_html_a9c7cad5690796e35bc68e5a931cee22c"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a9c7cad5690796e35bc68e5a931cee22c">OptionsContext::streamid_map</a></div><div class="ttdeci">int * streamid_map</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00221">fftools_ffmpeg.h:221</a></div></div>
<div class="ttc" id="astruct_options_context_html_a9cef7b5ff74cf5f810d8bae95b516c66"><div class="ttname"><a href="../../df/d77/struct_options_context.html#a9cef7b5ff74cf5f810d8bae95b516c66">OptionsContext::video_disable</a></div><div class="ttdeci">int video_disable</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00215">fftools_ffmpeg.h:215</a></div></div>
<div class="ttc" id="astruct_options_context_html_aa38553d671e91b5ad6d136923055e5bb"><div class="ttname"><a href="../../df/d77/struct_options_context.html#aa38553d671e91b5ad6d136923055e5bb">OptionsContext::audio_disable</a></div><div class="ttdeci">int audio_disable</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00216">fftools_ffmpeg.h:216</a></div></div>
<div class="ttc" id="astruct_options_context_html_ab5b3f2e73b482fa9b96f74d2cdd0f012"><div class="ttname"><a href="../../df/d77/struct_options_context.html#ab5b3f2e73b482fa9b96f74d2cdd0f012">OptionsContext::nb_program</a></div><div class="ttdeci">int nb_program</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00297">fftools_ffmpeg.h:297</a></div></div>
<div class="ttc" id="astruct_options_context_html_ac73bbf437507775263f8ea53b17f05c6"><div class="ttname"><a href="../../df/d77/struct_options_context.html#ac73bbf437507775263f8ea53b17f05c6">OptionsContext::stop_time</a></div><div class="ttdeci">int64_t stop_time</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00207">fftools_ffmpeg.h:207</a></div></div>
<div class="ttc" id="astruct_options_context_html_accc18b7847026b5885533035c97b50ba"><div class="ttname"><a href="../../df/d77/struct_options_context.html#accc18b7847026b5885533035c97b50ba">OptionsContext::attachments</a></div><div class="ttdeci">const char ** attachments</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00201">fftools_ffmpeg.h:201</a></div></div>
<div class="ttc" id="astruct_options_context_html_ad5b2e0fb210c4bb546852fc813af0797"><div class="ttname"><a href="../../df/d77/struct_options_context.html#ad5b2e0fb210c4bb546852fc813af0797">OptionsContext::program</a></div><div class="ttdeci">SpecifierOpt * program</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00296">fftools_ffmpeg.h:296</a></div></div>
<div class="ttc" id="astruct_options_context_html_ad6b7677978d525c2797d64a3ae425192"><div class="ttname"><a href="../../df/d77/struct_options_context.html#ad6b7677978d525c2797d64a3ae425192">OptionsContext::limit_filesize</a></div><div class="ttdeci">int64_t limit_filesize</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00208">fftools_ffmpeg.h:208</a></div></div>
<div class="ttc" id="astruct_options_context_html_adefe378fc52e83215a84f9fd8fd40e0e"><div class="ttname"><a href="../../df/d77/struct_options_context.html#adefe378fc52e83215a84f9fd8fd40e0e">OptionsContext::mux_max_delay</a></div><div class="ttdeci">float mux_max_delay</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00210">fftools_ffmpeg.h:210</a></div></div>
<div class="ttc" id="astruct_options_context_html_ae2d67d4b8daf3a4900bef1db8882b163"><div class="ttname"><a href="../../df/d77/struct_options_context.html#ae2d67d4b8daf3a4900bef1db8882b163">OptionsContext::shortest</a></div><div class="ttdeci">int shortest</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00212">fftools_ffmpeg.h:212</a></div></div>
<div class="ttc" id="astruct_options_context_html_af54b258dc24371896f1278cc2652472e"><div class="ttname"><a href="../../df/d77/struct_options_context.html#af54b258dc24371896f1278cc2652472e">OptionsContext::subtitle_disable</a></div><div class="ttdeci">int subtitle_disable</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00217">fftools_ffmpeg.h:217</a></div></div>
<div class="ttc" id="astruct_options_context_html_afbfd63b5be2c974c0a2dbf1911ab678b"><div class="ttname"><a href="../../df/d77/struct_options_context.html#afbfd63b5be2c974c0a2dbf1911ab678b">OptionsContext::audio_channel_maps</a></div><div class="ttdeci">AudioChannelMap * audio_channel_maps</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00198">fftools_ffmpeg.h:198</a></div></div>
<div class="ttc" id="astruct_options_context_html_affab676ea6f867fa622a0a642d8dacf8"><div class="ttname"><a href="../../df/d77/struct_options_context.html#affab676ea6f867fa622a0a642d8dacf8">OptionsContext::g</a></div><div class="ttdeci">OptionGroup * g</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00146">fftools_ffmpeg.h:146</a></div></div>
<div class="ttc" id="astruct_output_file_html"><div class="ttname"><a href="../../de/df2/struct_output_file.html">OutputFile</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00741">fftools_ffmpeg.h:741</a></div></div>
<div class="ttc" id="astruct_output_file_html_a0b654e71ffcf8967231369e2b4cf200c"><div class="ttname"><a href="../../de/df2/struct_output_file.html#a0b654e71ffcf8967231369e2b4cf200c">OutputFile::format</a></div><div class="ttdeci">const AVOutputFormat * format</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00746">fftools_ffmpeg.h:746</a></div></div>
<div class="ttc" id="astruct_output_file_html_a0ec33583a114c68a6c64b103fbd14b0d"><div class="ttname"><a href="../../de/df2/struct_output_file.html#a0ec33583a114c68a6c64b103fbd14b0d">OutputFile::index</a></div><div class="ttdeci">int index</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00744">fftools_ffmpeg.h:744</a></div></div>
<div class="ttc" id="astruct_output_file_html_a3271350355a05d2563997af82b561e2e"><div class="ttname"><a href="../../de/df2/struct_output_file.html#a3271350355a05d2563997af82b561e2e">OutputFile::sq_encode</a></div><div class="ttdeci">SyncQueue * sq_encode</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00752">fftools_ffmpeg.h:752</a></div></div>
<div class="ttc" id="astruct_output_file_html_a52499af7fa152f912d7361490a0bba5d"><div class="ttname"><a href="../../de/df2/struct_output_file.html#a52499af7fa152f912d7361490a0bba5d">OutputFile::url</a></div><div class="ttdeci">const char * url</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00747">fftools_ffmpeg.h:747</a></div></div>
<div class="ttc" id="astruct_output_file_html_a60be13886ab0ccd7f7fc06d0248eaf58"><div class="ttname"><a href="../../de/df2/struct_output_file.html#a60be13886ab0ccd7f7fc06d0248eaf58">OutputFile::bitexact</a></div><div class="ttdeci">int bitexact</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00758">fftools_ffmpeg.h:758</a></div></div>
<div class="ttc" id="astruct_output_file_html_a769a46a097161825d6c4a210bc730207"><div class="ttname"><a href="../../de/df2/struct_output_file.html#a769a46a097161825d6c4a210bc730207">OutputFile::streams</a></div><div class="ttdeci">OutputStream ** streams</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00749">fftools_ffmpeg.h:749</a></div></div>
<div class="ttc" id="astruct_output_file_html_a8bfd4fc9960ee43cab7a0ab5f44f66bb"><div class="ttname"><a href="../../de/df2/struct_output_file.html#a8bfd4fc9960ee43cab7a0ab5f44f66bb">OutputFile::nb_streams</a></div><div class="ttdeci">int nb_streams</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00750">fftools_ffmpeg.h:750</a></div></div>
<div class="ttc" id="astruct_output_file_html_aa4fee66db612c26276b5de30d834d5e0"><div class="ttname"><a href="../../de/df2/struct_output_file.html#aa4fee66db612c26276b5de30d834d5e0">OutputFile::start_time</a></div><div class="ttdeci">int64_t start_time</div><div class="ttdoc">start time in microseconds == AV_TIME_BASE units</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00755">fftools_ffmpeg.h:755</a></div></div>
<div class="ttc" id="astruct_output_file_html_ac173a66c6faa19e3d4649cfbdfc8b458"><div class="ttname"><a href="../../de/df2/struct_output_file.html#ac173a66c6faa19e3d4649cfbdfc8b458">OutputFile::clazz</a></div><div class="ttdeci">const AVClass * clazz</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00742">fftools_ffmpeg.h:742</a></div></div>
<div class="ttc" id="astruct_output_file_html_acfef99893985d28ae7f7f6a92e6d1bd7"><div class="ttname"><a href="../../de/df2/struct_output_file.html#acfef99893985d28ae7f7f6a92e6d1bd7">OutputFile::shortest</a></div><div class="ttdeci">int shortest</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00757">fftools_ffmpeg.h:757</a></div></div>
<div class="ttc" id="astruct_output_file_html_ad160ce6520aad386bead7eb45f6f55a0"><div class="ttname"><a href="../../de/df2/struct_output_file.html#ad160ce6520aad386bead7eb45f6f55a0">OutputFile::recording_time</a></div><div class="ttdeci">int64_t recording_time</div><div class="ttdoc">desired length of the resulting file in microseconds == AV_TIME_BASE units</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00754">fftools_ffmpeg.h:754</a></div></div>
<div class="ttc" id="astruct_output_filter_html"><div class="ttname"><a href="../../d0/d0f/struct_output_filter.html">OutputFilter</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00344">fftools_ffmpeg.h:344</a></div></div>
<div class="ttc" id="astruct_output_filter_html_a0a621d752f3ab33e67f0a8f22bee4118"><div class="ttname"><a href="../../d0/d0f/struct_output_filter.html#a0a621d752f3ab33e67f0a8f22bee4118">OutputFilter::width</a></div><div class="ttdeci">int width</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00355">fftools_ffmpeg.h:355</a></div></div>
<div class="ttc" id="astruct_output_filter_html_a1571021ae59382241c925f7ee613cd7d"><div class="ttname"><a href="../../d0/d0f/struct_output_filter.html#a1571021ae59382241c925f7ee613cd7d">OutputFilter::out_tmp</a></div><div class="ttdeci">AVFilterInOut * out_tmp</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00351">fftools_ffmpeg.h:351</a></div></div>
<div class="ttc" id="astruct_output_filter_html_a2d283eee3e140f822b5eb381890ba035"><div class="ttname"><a href="../../d0/d0f/struct_output_filter.html#a2d283eee3e140f822b5eb381890ba035">OutputFilter::ost</a></div><div class="ttdeci">struct OutputStream * ost</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00346">fftools_ffmpeg.h:346</a></div></div>
<div class="ttc" id="astruct_output_filter_html_a8bef5b1f7e6b00ab4128cfcabccd3c50"><div class="ttname"><a href="../../d0/d0f/struct_output_filter.html#a8bef5b1f7e6b00ab4128cfcabccd3c50">OutputFilter::formats</a></div><div class="ttdeci">const int * formats</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00363">fftools_ffmpeg.h:363</a></div></div>
<div class="ttc" id="astruct_output_filter_html_a9ff26552ee22fefa55f8194768247a5c"><div class="ttname"><a href="../../d0/d0f/struct_output_filter.html#a9ff26552ee22fefa55f8194768247a5c">OutputFilter::ch_layouts</a></div><div class="ttdeci">const AVChannelLayout * ch_layouts</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00364">fftools_ffmpeg.h:364</a></div></div>
<div class="ttc" id="astruct_output_filter_html_aaf75618d5c17545f762fa3af3f439340"><div class="ttname"><a href="../../d0/d0f/struct_output_filter.html#aaf75618d5c17545f762fa3af3f439340">OutputFilter::ch_layout</a></div><div class="ttdeci">AVChannelLayout ch_layout</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00359">fftools_ffmpeg.h:359</a></div></div>
<div class="ttc" id="astruct_output_filter_html_aaf9223843b6d814783f74c85b38de080"><div class="ttname"><a href="../../d0/d0f/struct_output_filter.html#aaf9223843b6d814783f74c85b38de080">OutputFilter::height</a></div><div class="ttdeci">int height</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00355">fftools_ffmpeg.h:355</a></div></div>
<div class="ttc" id="astruct_output_filter_html_ab0be1ec413ca98912667f1bf76fd2588"><div class="ttname"><a href="../../d0/d0f/struct_output_filter.html#ab0be1ec413ca98912667f1bf76fd2588">OutputFilter::sample_rate</a></div><div class="ttdeci">int sample_rate</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00358">fftools_ffmpeg.h:358</a></div></div>
<div class="ttc" id="astruct_output_filter_html_aca41b2f858937cc98ab36b19e50f9251"><div class="ttname"><a href="../../d0/d0f/struct_output_filter.html#aca41b2f858937cc98ab36b19e50f9251">OutputFilter::sample_rates</a></div><div class="ttdeci">const int * sample_rates</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00365">fftools_ffmpeg.h:365</a></div></div>
<div class="ttc" id="astruct_output_filter_html_ad45013a89f85087d03166652a94d1453"><div class="ttname"><a href="../../d0/d0f/struct_output_filter.html#ad45013a89f85087d03166652a94d1453">OutputFilter::frame_rate</a></div><div class="ttdeci">AVRational frame_rate</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00356">fftools_ffmpeg.h:356</a></div></div>
<div class="ttc" id="astruct_output_filter_html_aeba350050d2035d755254154e6551c49"><div class="ttname"><a href="../../d0/d0f/struct_output_filter.html#aeba350050d2035d755254154e6551c49">OutputFilter::format</a></div><div class="ttdeci">int format</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00357">fftools_ffmpeg.h:357</a></div></div>
<div class="ttc" id="astruct_output_filter_html_aed4c46a5df26ff71f3f718a0056af294"><div class="ttname"><a href="../../d0/d0f/struct_output_filter.html#aed4c46a5df26ff71f3f718a0056af294">OutputFilter::type</a></div><div class="ttdeci">enum AVMediaType type</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00352">fftools_ffmpeg.h:352</a></div></div>
<div class="ttc" id="astruct_output_stream_html"><div class="ttname"><a href="../../db/dde/struct_output_stream.html">OutputStream</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00611">fftools_ffmpeg.h:611</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a055e4f411b1accdceac26a10e06f1a68"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a055e4f411b1accdceac26a10e06f1a68">OutputStream::sq_idx_encode</a></div><div class="ttdeci">int sq_idx_encode</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00728">fftools_ffmpeg.h:728</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a0c7606649d3fd916e9eaf19e12fd92c7"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a0c7606649d3fd916e9eaf19e12fd92c7">OutputStream::swr_opts</a></div><div class="ttdeci">AVDictionary * swr_opts</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00687">fftools_ffmpeg.h:687</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a0ead6066e95744c0222020cc0df51b39"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a0ead6066e95744c0222020cc0df51b39">OutputStream::fix_sub_duration_heartbeat</a></div><div class="ttdeci">unsigned int fix_sub_duration_heartbeat</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00738">fftools_ffmpeg.h:738</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a18d35ef25d161a00537c7bf3759e38a2"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a18d35ef25d161a00537c7bf3759e38a2">OutputStream::bitexact</a></div><div class="ttdeci">int bitexact</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00661">fftools_ffmpeg.h:661</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a1c371db7f52c96799a042c70ed85ce2a"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a1c371db7f52c96799a042c70ed85ce2a">OutputStream::copy_initial_nonkeyframes</a></div><div class="ttdeci">int copy_initial_nonkeyframes</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00701">fftools_ffmpeg.h:701</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a1fd50164583dbdc664706be005120c1d"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a1fd50164583dbdc664706be005120c1d">OutputStream::last_mux_dts</a></div><div class="ttdeci">int64_t last_mux_dts</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00629">fftools_ffmpeg.h:629</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a236bf5647b00c43936bda537db39ec26"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a236bf5647b00c43936bda537db39ec26">OutputStream::top_field_first</a></div><div class="ttdeci">int top_field_first</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00656">fftools_ffmpeg.h:656</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a2cb215b02eb510c4b19947063a5d5bd8"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a2cb215b02eb510c4b19947063a5d5bd8">OutputStream::finished</a></div><div class="ttdeci">OSTFinished finished</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00689">fftools_ffmpeg.h:689</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a343c63e0cf4f0aca4fb4727b2e6fa829"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a343c63e0cf4f0aca4fb4727b2e6fa829">OutputStream::audio_channels_map</a></div><div class="ttdeci">int * audio_channels_map</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00673">fftools_ffmpeg.h:673</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a34db2d7b3922da876db8ed464d7a5114"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a34db2d7b3922da876db8ed464d7a5114">OutputStream::pkt</a></div><div class="ttdeci">AVPacket * pkt</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00646">fftools_ffmpeg.h:646</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a363d95a998c8dffa3a493ccf39f39309"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a363d95a998c8dffa3a493ccf39f39309">OutputStream::frame_aspect_ratio</a></div><div class="ttdeci">AVRational frame_aspect_ratio</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00667">fftools_ffmpeg.h:667</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a3752b3243f9a089543bc1dc67b3de3fc"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a3752b3243f9a089543bc1dc67b3de3fc">OutputStream::rotate_override_value</a></div><div class="ttdeci">double rotate_override_value</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00664">fftools_ffmpeg.h:664</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a39be21a24844901ce54a6740f4a8c16b"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a39be21a24844901ce54a6740f4a8c16b">OutputStream::last_filter_pts</a></div><div class="ttdeci">int64_t last_filter_pts</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00631">fftools_ffmpeg.h:631</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a4a1859416457382b2ec12a7fac7b4220"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a4a1859416457382b2ec12a7fac7b4220">OutputStream::last_frame</a></div><div class="ttdeci">AVFrame * last_frame</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00644">fftools_ffmpeg.h:644</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a4aabbeb1e0b98e2211be7f36a3cde2aa"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a4aabbeb1e0b98e2211be7f36a3cde2aa">OutputStream::autoscale</a></div><div class="ttdeci">int autoscale</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00660">fftools_ffmpeg.h:660</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a4b60132584a912e80dea91210d1cfbd4"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a4b60132584a912e80dea91210d1cfbd4">OutputStream::enc_stats_pre</a></div><div class="ttdeci">EncStats enc_stats_pre</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00731">fftools_ffmpeg.h:731</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a50bc46d7c7636e2abbfe066872d0c1d0"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a50bc46d7c7636e2abbfe066872d0c1d0">OutputStream::audio_channels_mapped</a></div><div class="ttdeci">int audio_channels_mapped</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00674">fftools_ffmpeg.h:674</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a51858c10bfe635eb784e3651e6d494f8"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a51858c10bfe635eb784e3651e6d494f8">OutputStream::force_fps</a></div><div class="ttdeci">int force_fps</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00655">fftools_ffmpeg.h:655</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a5568a118e42be001079e09af994748fc"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a5568a118e42be001079e09af994748fc">OutputStream::sq_idx_mux</a></div><div class="ttdeci">int sq_idx_mux</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00729">fftools_ffmpeg.h:729</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a6f732233335c0a7f9b78043c9eec1352"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a6f732233335c0a7f9b78043c9eec1352">OutputStream::bits_per_raw_sample</a></div><div class="ttdeci">int bits_per_raw_sample</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00662">fftools_ffmpeg.h:662</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a76d4d92835e9dd3d0619e79e4fb762c6"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a76d4d92835e9dd3d0619e79e4fb762c6">OutputStream::apad</a></div><div class="ttdeci">char * apad</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00688">fftools_ffmpeg.h:688</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a7efb75b87428b8442a2efd06734c9fb1"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a7efb75b87428b8442a2efd06734c9fb1">OutputStream::vsync_method</a></div><div class="ttdeci">enum VideoSyncMethod vsync_method</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00653">fftools_ffmpeg.h:653</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a83d0b321ae5f3d0279959ff6556cbdd6"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a83d0b321ae5f3d0279959ff6556cbdd6">OutputStream::ist</a></div><div class="ttdeci">InputStream * ist</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00620">fftools_ffmpeg.h:620</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a8451cc49d2239d80f7c5e85b232afe56"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a8451cc49d2239d80f7c5e85b232afe56">OutputStream::kf</a></div><div class="ttdeci">KeyframeForceCtx kf</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00669">fftools_ffmpeg.h:669</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a89138b534350318574ca78cdb1c4ab4a"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a89138b534350318574ca78cdb1c4ab4a">OutputStream::max_frame_rate</a></div><div class="ttdeci">AVRational max_frame_rate</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00652">fftools_ffmpeg.h:652</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a8fe39b5fa1ad275e6d11dd5affaee68d"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a8fe39b5fa1ad275e6d11dd5affaee68d">OutputStream::enc_timebase</a></div><div class="ttdeci">AVRational enc_timebase</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00640">fftools_ffmpeg.h:640</a></div></div>
<div class="ttc" id="astruct_output_stream_html_a9cd48cbdf903d5bfee1b9c774e5cd46e"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#a9cd48cbdf903d5bfee1b9c774e5cd46e">OutputStream::is_cfr</a></div><div class="ttdeci">int is_cfr</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00654">fftools_ffmpeg.h:654</a></div></div>
<div class="ttc" id="astruct_output_stream_html_aa4f15da482fbfdf20b41f21481e1ef3f"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#aa4f15da482fbfdf20b41f21481e1ef3f">OutputStream::filtered_frame</a></div><div class="ttdeci">AVFrame * filtered_frame</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00643">fftools_ffmpeg.h:643</a></div></div>
<div class="ttc" id="astruct_output_stream_html_aa65108bd50cba339c4ad09ffc5fe77ac"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#aa65108bd50cba339c4ad09ffc5fe77ac">OutputStream::attachment_filename</a></div><div class="ttdeci">const char * attachment_filename</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00699">fftools_ffmpeg.h:699</a></div></div>
<div class="ttc" id="astruct_output_stream_html_aa7e446d13f4c52421727674832548aa0"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#aa7e446d13f4c52421727674832548aa0">OutputStream::clazz</a></div><div class="ttdeci">const AVClass * clazz</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00612">fftools_ffmpeg.h:612</a></div></div>
<div class="ttc" id="astruct_output_stream_html_ab0abd8df4fbca9a1978b8a28b3982e81"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#ab0abd8df4fbca9a1978b8a28b3982e81">OutputStream::sq_frame</a></div><div class="ttdeci">AVFrame * sq_frame</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00645">fftools_ffmpeg.h:645</a></div></div>
<div class="ttc" id="astruct_output_stream_html_ab13acc03a389653d882f221141f12ae3"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#ab13acc03a389653d882f221141f12ae3">OutputStream::frame_rate</a></div><div class="ttdeci">AVRational frame_rate</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00651">fftools_ffmpeg.h:651</a></div></div>
<div class="ttc" id="astruct_output_stream_html_ab60bee90a33577cbdbb82e9c5fb2cf08"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#ab60bee90a33577cbdbb82e9c5fb2cf08">OutputStream::copy_prior_start</a></div><div class="ttdeci">int copy_prior_start</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00702">fftools_ffmpeg.h:702</a></div></div>
<div class="ttc" id="astruct_output_stream_html_ab7b674f9a0c60e3e02526d560a83f583"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#ab7b674f9a0c60e3e02526d560a83f583">OutputStream::enc_ctx</a></div><div class="ttdeci">AVCodecContext * enc_ctx</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00642">fftools_ffmpeg.h:642</a></div></div>
<div class="ttc" id="astruct_output_stream_html_abf222748d6af0fb0c72fa6b77fe2294e"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#abf222748d6af0fb0c72fa6b77fe2294e">OutputStream::encoder_opts</a></div><div class="ttdeci">AVDictionary * encoder_opts</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00685">fftools_ffmpeg.h:685</a></div></div>
<div class="ttc" id="astruct_output_stream_html_ac11510a2eeed3e6a14f0fbc85db2e088"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#ac11510a2eeed3e6a14f0fbc85db2e088">OutputStream::st</a></div><div class="ttdeci">AVStream * st</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00622">fftools_ffmpeg.h:622</a></div></div>
<div class="ttc" id="astruct_output_stream_html_ac2cdba9dbd9a315fd3ea90cbfb634409"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#ac2cdba9dbd9a315fd3ea90cbfb634409">OutputStream::filters</a></div><div class="ttdeci">char * filters</div><div class="ttdoc">filtergraph associated to the -filter option</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00682">fftools_ffmpeg.h:682</a></div></div>
<div class="ttc" id="astruct_output_stream_html_ac35ecb04b8b6ca22d10180918de95be4"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#ac35ecb04b8b6ca22d10180918de95be4">OutputStream::avfilter</a></div><div class="ttdeci">char * avfilter</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00681">fftools_ffmpeg.h:681</a></div></div>
<div class="ttc" id="astruct_output_stream_html_acb5e88ff4ae180f1ba27cdaf46aebf75"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#acb5e88ff4ae180f1ba27cdaf46aebf75">OutputStream::enc_stats_post</a></div><div class="ttdeci">EncStats enc_stats_post</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00732">fftools_ffmpeg.h:732</a></div></div>
<div class="ttc" id="astruct_output_stream_html_acbe9d7fddd3daaab6e9337099ec824f2"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#acbe9d7fddd3daaab6e9337099ec824f2">OutputStream::filters_script</a></div><div class="ttdeci">char * filters_script</div><div class="ttdoc">filtergraph script associated to the -filter_script option</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00683">fftools_ffmpeg.h:683</a></div></div>
<div class="ttc" id="astruct_output_stream_html_ad55eb675077dc7b468f15f02a03ded5a"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#ad55eb675077dc7b468f15f02a03ded5a">OutputStream::sws_dict</a></div><div class="ttdeci">AVDictionary * sws_dict</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00686">fftools_ffmpeg.h:686</a></div></div>
<div class="ttc" id="astruct_output_stream_html_ad8926e7de923b3eeabd66770caacfe1e"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#ad8926e7de923b3eeabd66770caacfe1e">OutputStream::filter</a></div><div class="ttdeci">OutputFilter * filter</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00680">fftools_ffmpeg.h:680</a></div></div>
<div class="ttc" id="astruct_output_stream_html_ae22fe6ee1999d45be0d8722d04294a22"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#ae22fe6ee1999d45be0d8722d04294a22">OutputStream::index</a></div><div class="ttdeci">int index</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00615">fftools_ffmpeg.h:615</a></div></div>
<div class="ttc" id="astruct_output_stream_html_ae27ba6d2051d62f704c5693133b58b11"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#ae27ba6d2051d62f704c5693133b58b11">OutputStream::rotate_overridden</a></div><div class="ttdeci">int rotate_overridden</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00658">fftools_ffmpeg.h:658</a></div></div>
<div class="ttc" id="astruct_output_stream_html_af0ca53e6e06775f61dcc13af0a11ab82"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#af0ca53e6e06775f61dcc13af0a11ab82">OutputStream::keep_pix_fmt</a></div><div class="ttdeci">int keep_pix_fmt</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00704">fftools_ffmpeg.h:704</a></div></div>
<div class="ttc" id="astruct_output_stream_html_af1ef91b1ddb70244dd37415f774e025b"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#af1ef91b1ddb70244dd37415f774e025b">OutputStream::logfile</a></div><div class="ttdeci">FILE * logfile</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00678">fftools_ffmpeg.h:678</a></div></div>
<div class="ttc" id="astruct_output_stream_html_af608105788daa4300771669d992ef890"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#af608105788daa4300771669d992ef890">OutputStream::file_index</a></div><div class="ttdeci">int file_index</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00614">fftools_ffmpeg.h:614</a></div></div>
<div class="ttc" id="astruct_output_stream_html_afd6ee54ae3807e7bdaec44f2c12c99e1"><div class="ttname"><a href="../../db/dde/struct_output_stream.html#afd6ee54ae3807e7bdaec44f2c12c99e1">OutputStream::logfile_prefix</a></div><div class="ttdeci">char * logfile_prefix</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00677">fftools_ffmpeg.h:677</a></div></div>
<div class="ttc" id="astruct_specifier_opt_html_a396d3e67fde3c170cda70842a1c35521"><div class="ttname"><a href="../../dd/da5/struct_specifier_opt.html#a396d3e67fde3c170cda70842a1c35521">SpecifierOpt::u</a></div><div class="ttdeci">union SpecifierOpt::@0 u</div></div>
<div class="ttc" id="astruct_specifier_opt_html_a491092bfda9281b509e9f62195490ce4"><div class="ttname"><a href="../../dd/da5/struct_specifier_opt.html#a491092bfda9281b509e9f62195490ce4">SpecifierOpt::str</a></div><div class="ttdeci">uint8_t * str</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d4e/fftools__cmdutils_8h_source.html#l00185">fftools_cmdutils.h:185</a></div></div>
<div class="ttc" id="astruct_specifier_opt_html_ab83e423aec2a2d42a29daae047dcdb81"><div class="ttname"><a href="../../dd/da5/struct_specifier_opt.html#ab83e423aec2a2d42a29daae047dcdb81">SpecifierOpt::specifier</a></div><div class="ttdeci">char * specifier</div><div class="ttdef"><b>Definition</b> <a href="../../d8/d4e/fftools__cmdutils_8h_source.html#l00183">fftools_cmdutils.h:183</a></div></div>
<div class="ttc" id="astruct_stream_map_html"><div class="ttname"><a href="../../db/d60/struct_stream_map.html">StreamMap</a></div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00131">fftools_ffmpeg.h:131</a></div></div>
<div class="ttc" id="astruct_stream_map_html_a2982108d57751e19c308fe338361b066"><div class="ttname"><a href="../../db/d60/struct_stream_map.html#a2982108d57751e19c308fe338361b066">StreamMap::stream_index</a></div><div class="ttdeci">int stream_index</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00134">fftools_ffmpeg.h:134</a></div></div>
<div class="ttc" id="astruct_stream_map_html_a4b146ee6da0df9d55d435d9153636504"><div class="ttname"><a href="../../db/d60/struct_stream_map.html#a4b146ee6da0df9d55d435d9153636504">StreamMap::disabled</a></div><div class="ttdeci">int disabled</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00132">fftools_ffmpeg.h:132</a></div></div>
<div class="ttc" id="astruct_stream_map_html_aca10df0c2fe6f0e6c13c7b536f6ef7d2"><div class="ttname"><a href="../../db/d60/struct_stream_map.html#aca10df0c2fe6f0e6c13c7b536f6ef7d2">StreamMap::linklabel</a></div><div class="ttdeci">char * linklabel</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00135">fftools_ffmpeg.h:135</a></div></div>
<div class="ttc" id="astruct_stream_map_html_af8b5bac41a8831242ead1441bdca6783"><div class="ttname"><a href="../../db/d60/struct_stream_map.html#af8b5bac41a8831242ead1441bdca6783">StreamMap::file_index</a></div><div class="ttdeci">int file_index</div><div class="ttdef"><b>Definition</b> <a href="../../d7/db3/fftools__ffmpeg_8h_source.html#l00133">fftools_ffmpeg.h:133</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Aug 22 2023 01:27:06 for FFmpegKit iOS / macOS / tvOS API by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.7
</small></address>
</body>
</html>
